Ajax 将值传递给 datetimepicker
Ajax pass values to datetimepicker
我正在编写代码以使用 Ajax 在 dateTimePicker 中动态设置 daysOfWeekDisabled。
daysOfWeekDisabled 数组有问题。
http://eonasdan.github.io/bootstrap-datetimepicker/Options/#daysofweekdisabled
这是代码。
html:
<div id="show-pic" class="input-group bootstrap-timepicker">
<input id="datepicker" name="delivery_time" type="text" class="form-control input-small" placeholder="Choose a delivery time"/>
</div>
脚本:
$.ajax({
type: 'POST',
url: '../ajax.php',
success: function(result) {
console.log(result);
$('#datepicker').datetimepicker({
format: 'DD/MM/YYYY - H:mm',
minDate: new Date(),
daysOfWeekDisabled: [result]
});
}
});
ajax.php:
$week_day = array('0','6');
$string = implode(',', $week_day);
echo $string;
控制台returns0,6...太棒了!但只有星期日被禁用,6被忽略。
我尝试了一些方法,例如 "json_encode" 或 "join()" 函数,但无法获取。
请帮忙。
谢谢。
好的,问了一些问题我想我知道问题出在哪里了。我相信 php 将一个字符串返回给您的 javascript,而不是一个数组(即使它看起来像一个数组)。所以在 php 中使用 echo json_encode($week_day);
在 ajax 响应中使用 JSON.parse(result)
将其变回数组。您也许可以在 ajax 调用中设置 dataType: json
,而不是在返回时解析结果,但有时我遇到了问题。如果你 console.log(result)
并且你不能将数组作为值向下旋转(这意味着它没有明确地说 Array[2]
带有向下旋转的箭头)它可能是一个字符串。看看你用 console.log(JSON.parse(result))
得到了什么。
为了解决这个问题,我不得不使用"json_encode"(谢谢@fauxserious)。
所以现在是代码。
脚本:
$.ajax({
dataType: 'json',
type: 'POST',
url: '../ajax.php',
success: function(result) {
console.log(result);
$('#datepicker').datetimepicker({
format: 'DD/MM/YYYY - H:mm',
minDate: new Date(),
daysOfWeekDisabled: result
});
}
});
ajax.php:
$week_day = array(0, 6);
echo(json_encode($week_day));
谢谢大家!
我正在编写代码以使用 Ajax 在 dateTimePicker 中动态设置 daysOfWeekDisabled。
daysOfWeekDisabled 数组有问题。 http://eonasdan.github.io/bootstrap-datetimepicker/Options/#daysofweekdisabled
这是代码。
html:
<div id="show-pic" class="input-group bootstrap-timepicker">
<input id="datepicker" name="delivery_time" type="text" class="form-control input-small" placeholder="Choose a delivery time"/>
</div>
脚本:
$.ajax({
type: 'POST',
url: '../ajax.php',
success: function(result) {
console.log(result);
$('#datepicker').datetimepicker({
format: 'DD/MM/YYYY - H:mm',
minDate: new Date(),
daysOfWeekDisabled: [result]
});
}
});
ajax.php:
$week_day = array('0','6');
$string = implode(',', $week_day);
echo $string;
控制台returns0,6...太棒了!但只有星期日被禁用,6被忽略。
我尝试了一些方法,例如 "json_encode" 或 "join()" 函数,但无法获取。
请帮忙。
谢谢。
好的,问了一些问题我想我知道问题出在哪里了。我相信 php 将一个字符串返回给您的 javascript,而不是一个数组(即使它看起来像一个数组)。所以在 php 中使用 echo json_encode($week_day);
在 ajax 响应中使用 JSON.parse(result)
将其变回数组。您也许可以在 ajax 调用中设置 dataType: json
,而不是在返回时解析结果,但有时我遇到了问题。如果你 console.log(result)
并且你不能将数组作为值向下旋转(这意味着它没有明确地说 Array[2]
带有向下旋转的箭头)它可能是一个字符串。看看你用 console.log(JSON.parse(result))
得到了什么。
为了解决这个问题,我不得不使用"json_encode"(谢谢@fauxserious)。
所以现在是代码。
脚本:
$.ajax({
dataType: 'json',
type: 'POST',
url: '../ajax.php',
success: function(result) {
console.log(result);
$('#datepicker').datetimepicker({
format: 'DD/MM/YYYY - H:mm',
minDate: new Date(),
daysOfWeekDisabled: result
});
}
});
ajax.php:
$week_day = array(0, 6);
echo(json_encode($week_day));
谢谢大家!