PHP 传递给 DatePicker 的变量值 Javascript

PHP variable value pass to DatePicker Javascript

我只是一个业余爱好者,对于DateTimePicker的可用时间列表有点小困扰。我正在寻求帮助以了解为什么代码不起作用。我没有建立任何网站或类似的网站,我只是在练习。

基本:

<script>
$('#datetimepicker4').datetimepicker({ 
minDate:new Date(), 
allowTimes:['10:30','11:30','12:30'] });
</script>

这 3 个允许的时间完美地列出了。

我的问题只是一个主要问题:为什么它不能像这样工作?

仅举一例:

$time1 = "10:30";
$time2 = "11:30";
$time3 = "12:30";

$list = "'" . $time2 . "'," . $time3 . "'";

echo "<script>\n";
echo "$('#datetimepicker4').datetimepicker({ minDate:new Date(), allowTimes:[".json_encode($list)."] });";
echo "\n</script>";

如果我打印出“$list”php 变量,它将显示:'11:30','12:30'。但是在 js 中只显示 1 个允许时间而不是 2 个。实际上它可以是 10 个不同的时间,仍然只显示 1 个。

我看不出两种上市方式的区别。

如果你能给我一个答案,我将不胜感激。

谢谢。

它只显示一次的原因是您只将一个参数打印到 allowedTimes。

[".json_encode($list)."] 所有内容都用双引号引起来。您的输出是 ["'11:30',12:30'"]。所以你需要删除双引号才能有多个值。

此外,这不是执行此操作的最有效方法。如果您知道要打印一个数组,为什么不这样设置时间呢?

示例:

<?php
$allowTimes = array(
    '10:30',
    '11:30',
    '12:30'
);
?>

<script>
$('#datetimepicker4').datetimepicker({ minDate:new Date(), allowTimes:<?php echo json_encode($allowTimes) ?> });
</script>