PHP变量值传递给DatePicker Javascript

时间:2017-07-28 17:49:47

标签: javascript php datetimepicker bootstrap-datetimepicker

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

基本:



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

这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>";

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

我无法看到两种上市方式之间的区别。

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

谢谢。

1 个答案:

答案 0 :(得分:2)

它只显示一次的原因是你只是将一个参数打印到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>