【发布时间】:2020-03-30 03:54:01
【问题描述】:
我正在尝试从 mysql 中突出显示 datepicker 中的所有日期,但无法正常工作,我认为问题出在数组上,或者我不知道,问题是当我在 user_busy_days 变量中写入时 ['2019-12-01 ','2019-12-02'];正在工作,但下面的代码不起作用。任何帮助表示赞赏。
PHP:
<?php
$sql = mysqli_query($con,"SELECT dates FROM mls_cereri GROUP BY dates");
$Data= Array();
while ($row = mysqli_fetch_array($sql, MYSQLI_ASSOC))
{
$Data[] = $row['dates'];
}
$event = json_encode($Data);
?>
Javascript:
var user_busy_days = '<?php echo $event; ?>'; // <- Working example: ['2019-12-01','2019-12-02']
$('#to_date').datepicker({
inline: true,
sideBySide: true,
format: "yy-mm-dd",
orientation: "bottom auto",
todayHighlight: true,
autoclose: true,
beforeShowDay: function (date) {
calender_date = date.getFullYear()+'-'+(date.getMonth()+1)+'-'+('0'+date.getDate()).slice(-2);
var search_index = $.inArray(calender_date, user_busy_days);
if (search_index > -1) {
return {classes: 'non-highlighted-cal-dates', tooltip: 'User available on this day.'};
}else{
return {classes: 'highlighted-cal-dates', tooltip: 'User not available on this day.'};
}
}
});
【问题讨论】:
-
它从 PHP 生成 ["2019-12-20", "2019-12-21"]
-
你确定吗?看起来它生成了
'["2019-12-20", "2019-12-21"]'- 从'<?php echo $event; ?>'周围删除'。使用console.log(user_busy_days.length)确认 - 如果是 28 则为字符串。 -
我已经删除了 ' 并且现在正在工作.. 谢谢@freedomn-m
标签: javascript php jquery datepicker