将PHP变量值传递给DatePicker Javascript
我只是一名业余爱好者,我对DateTimePicker的可用时间列表有点麻烦。我在寻找帮助,以了解代码为什么不起作用。我没有建立任何网站或类似的网站,我只是在练习。将PHP变量值传递给DatePicker Javascript
基础:
<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>";
如果我打印出来的 “$列表” 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>
正要说同样的事情。它被当作一个字符串(并且在正确的位置缺少撇号,这是另一个问题本身)。另一种方法是修正缺少的撇号,也可以简单地回显字符串本身,如'echo“... allowTimes:[”。$ list。“] ...”'没有用encode_json包装它。 –
尝试没有json_encode –