我使用Pickadate.js和JQuery表单插件。我有日期和时间的选择。我想做的是根据数据报警器的值禁用时间选择器中的时间。因此,我正在尝试将JSON数据导入picker.set("disable", [ ]);。我可以console.log的纯文本,但它仍然没有目标。
我试了很多次,遇到了这个问题的这些解决方案。但我不能发射它们。(我调整了腌菜的功能和类以适应泡菜。)
// Javascript
$(document).ready(function() {
$("input").click(function() {
$(".datepicker").pickadate({
format: 'yyyy-mm-dd',
formatSubmit: 'yyyy-mm-dd',
min: true,
max: false
});
var $input = $(".timepicker").pickatime({
format: 'HH:i',
formatSubmit: 'HH:i',
formatLabel: 'HH:i'
});
$('.datepicker').change(function() {
$('#form').ajaxSubmit({
target: '#check_result',
url: 'check.php',
success: function showResponse(responseText, $form) {
var picker = $input.pickatime('picker');
picker.set("disable", [
console.log(responseText)
]);
}
});
return false;
});
});
});// PHP (check.php)
<?php
// Database connection done.
$date = mysqli_real_escape_string($con, $_POST['date']);
$match_query = mysqli_query($con, "SELECT * FROM booking WHERE DATE(time) = '$date'");
$disabled_times = array();
if ($result = $match_query) {
while ($row = mysqli_fetch_assoc($result)) {
$disabled_times[] = $row['time'];
}
mysqli_free_result($result);
}
echo implode($disabled_times);
?>
发布于 2016-07-06 00:22:16
您可以发布一个从php返回json的示例吗?
根据docs (http://amsul.ca/pickadate.js/api/#method-get-disable),json应该是这样的: 2,30,4,30,9,0
如果您的json是正确的,请确保它不是作为字符串传递给时间选择器。试一试如下:
var json = JSON.parse(responseText);
picker.set("disable", [ json ]);更新:我猜使用以下代码,您的json将正确返回:
...
$time = explode(',', $row['time']);
$time[0] = (int)$time[0];
$time[1] = (int)$time[1];
$disabled_times[] = $time;
...
echo json_encode($disabled_times);https://stackoverflow.com/questions/38195451
复制相似问题