1

我的问题可能很简单或与其他问题类似,但我无法完成这项任务。

我正在尝试动态禁用 datepicker 中的某些日期。我只是在运行一个提供假期列表的查询。

$date[]=$year.'/'.$month.'/'.$day; // array 

我正在使用内爆,这样我就可以有逗号分隔的列表

$abc=implode(',',$date);

所以 $abc 包含日期。

这是我的javascript

    <script type="text/javascript">
//var Alldays = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday"];
/* var disable= '<?php echo $info; ?>'; // yyyy/MM/dd*/
var disableDates="<?php =$abc; ?>"; 

//var disableDays = ["Saturday", "Sunday"];
//var disableDates = ["2013/02/26", "2013/02/28"];
alert (disableDates);
function ShowDisableDates(date) {
ymd = date.getFullYear() + "/" + ("0" + (date.getMonth() + 1)).slice(-2) + "/" + ("0" + date.getDate()).slice(-2);
//alert(ymd);
//ymd= ("0" + (date.getMonth() + 1)).slice(-2) + "/" + ("0" + date.getDate()).slice(-2) + "/" + date.getFullYear();
day = new Date(ymd).getDay();
if ($.inArray(ymd, disableDates) < 0 ) {
return [true, "enabled", "Book Now"];
} else {
return [false, "disabled", "Sold Out"];
}
}
$(function() {
$("#datepicker").datepicker({beforeShowDay:ShowDisableDates});
});
</script>

但我无法访问从$abc到 javascript 的日期。

如果我将它们声明为静态

var disableDates = ["2013/02/26", "2013/02/28"];

它工作正常

请指导我解决这个问题,谢谢

4

1 回答 1

3

如果$abc是一个数组:

var disableDates = <?= json_encode($abc); ?>; 
于 2013-02-09T11:45:22.753 回答