我的jQuery datepicker具有以下代码:
$(document).ready(function() {
var event = ['14 april 2017', '25 april 2017', '1 april 2017'];
$('#datepicker').datepicker({
inline: true,
showOtherMonths: true,
dayNamesMin: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
beforeShowDay: highlightDays,
onSelect: function(dateText, inst){
showpopup();
getdatespan();
}
});
function highlightDays(date) {
for (var i = 0; i < event.length; i++) {
if (new Date(event[i]).toString() == date.toString()) {
return [true, 'ui-state-event', ''];
}
}
return [true, ''];
}
...
我想重点介绍的是变量“事件”,该变量用于为
highlightDays
函数提供日期。如上所述,该代码可以完美地工作并成功突出显示变量中的日期。但是,这些日期是我自己手动输入的。以下是我的calendar.php文件中的代码:
$findEventStartdates = $pdo->prepare('SELECT startdate FROM calendar WHERE username=?');
//execute query with variables
$findEventStartdates->execute([$username]);
($eventStartdates = $findEventStartdates->fetchAll(PDO::FETCH_COLUMN));
打印时,显示以下输出:
Array ( [0] => 14 april 2017 [1] => 25 april 2017 [2] => 1 april 2017)
我的问题是如何获取该PDO中输出的任何内容以用作datepicker的变量?
在PHP文件中,我尝试了以下操作:
$highlightEvents = implode("', '",$eventStartdates);
echo <<<_END
<input type="text" name="eventHighlight" id="eventHighlight" value="'$highlightEvents'">
_END;
由此可见:
'14 april 2017', '25 april 2017', '1 april 2017'
在文本框中,然后尝试使用jQuery:
var event = [$("#eventHighlight").text];
但这没有用。因此,对这种或使用数组的不同方式进行的任何更改将不胜感激。
谢谢。
最佳答案
您可以在php端使用json_encode()
将数组直接打印到javascript中的变量中:
var event = <?php echo json_encode($eventStartdates);?>;
关于javascript - 使用数据库中的结果作为jQuery中的变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43188023/