0
我使用Pickadate.js和JQuery Form Plugin。我有日期和時間選擇器分開。我想要做的是根據datepicker的值禁用timepicker中的時間。所以,我試圖讓JSON數據進入picker.set("disable", [ ]);
。我可以console.log純文本,但它仍然沒有目標。通過Ajax更新Pickadate輸入
我嘗試了很多,並遇到過these solutions。但我無法啓動它們。 (我適應pickadate函數和類pickatime的。)
// 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
require ('connect.php');
$date = mysql_real_escape_string($_POST['date']);
$match_query = mysql_query("SELECT * FROM booking where DATE(time)='$date'");
$disabled_times = array();
if ($result = $match_query) {
\t /* fetch associative array */
\t while ($row = mysql_fetch_assoc($result)) {
\t \t setlocale(LC_ALL,"tr_TR.UTF-8");
\t \t $row['time'] = date('H:i', strtotime($row['time']));
\t \t $row['time'] = str_replace(':', ',', $row['time']);
\t \t $disabled_times[] = '['.$row['time'].']';
\t }
\t /* free result set */
\t mysql_free_result($result);
}
echo implode($disabled_times);
?>
謝謝。 在我的方法中,console.log(responseText)完全返回'[「[4,30]」,「[9,0]」]'。在你的console.log(json)中返回'[「4,30」,「9,0」]'。 我知道我的代碼生成一個字符串值,它不會爲我工作。我正在尋找正確的方式來傳遞json。 – Melih
我明白了...讓我們嘗試新的解決方案,檢查我的更新。 –
太棒了!只需要幾個更正... 'var json = JSON.parse(responseText); picker.set(「enable」,true); picker.set(「disable」,json);' – Melih