我正在使用对PHP的Ajax调用来返回用户可用的日期字符串,以使其动态化。
我将字符串返回给我的jQuery:
['7-15-2013','7-16-2013','7-17-2013','7-18-2013','7-19-2013','7-20-2013','7-21-2013','7-22-2013']
但是,当我初始化datePicker时,该日期字符串不会加载。
我不太清楚为什么,我怀疑在Ajax调用之后我的成功功能。
我的jQuery代码如下所示:
$('.vendor_id').change(function()
{
var vendor_id = $('option:selected', this).attr('title');
var url = "/admin/po/get_user_dates/" + vendor_id;
$.ajax({
type : "POST",
url : url,
success: function(unavaildates)
{
var disabledDays = unavaildates;
function disableAllTheseDays(date) {
var m = date.getMonth(), d = date.getDate(), y = date.getFullYear();
for (i = 0; i < disabledDays.length; i++) {
if($.inArray((m+1) + '-' + d + '-' + y,disabledDays) != -1) {
return [false];
}
}
return [true];
}
$('.booking-date').datepicker(
{
beforeShowDay: disableAllTheseDays,
numberOfMonths: 2,
dateFormat: 'DD, d MM, yy',
showButtonPanel: true
}
)
}
})
})
希望有人打电话帮助我。
快速更新..将disabledDays分配给['7-15-2013','7-16-2013','7-17-2013','7-18-2013','7-19-2013 ','7-20-2013','7-21-2013','7-22-2013'] datePicker有效......?
提前致谢。
答案 0 :(得分:2)
因为您正在从服务器检索字符串而不是数组。
我建议从服务器返回没有方括号"'7-15-2013','7-16-2013','7-17-2013','7-18-2013','7-19-2013','7-20-2013','7-21-2013','7-22-2013'"
的字符串,然后像这样创建数组:
var unavaildates = "'7-15-2013','7-16-2013','7-17-2013','7-18-2013','7-19-2013','7-20-2013','7-21-2013','7-22-2013'"
var disabledDays = unavaildates.split(',');