我通过ajax获取日期。我想在我的datepicker上禁用这些日期。但是参数datesDisabled在我的代码中根本不起作用。它始终显示日期选择器而不禁用任何日期。下面是我的jquery代码:
$(document).ready(function() {
$("#people").blur(function() {
var people = $("#people").val();
if(people == "" || people == 0)
{
$("#people-error").html("Please enter number of people.");
return false;
}
var experience_uid = $("#experience_uid").val();
var req_url = "' . site_url() . '/wp-content/plugins/visitnorth/visitnorth.php";
var ajax_req_for_schedule = 1;
$.ajax({
async:false,
"type": "POST",
"url": req_url,
"data": {"people":people, "experience_uid":experience_uid, "ajax_req_for_schedule":ajax_req_for_schedule},
statusCode: {
404: function() {
alert("Oj, någonting gick fel. Försök igen.");
},
500: function() {
alert("Oops! An Internal Error has occurred.");
},
},
success: function (data) {
//output data is: ["11-08-2017, 11-05-2017, 11-03-2017"]
$(".datepicker").datepicker({
todayHighlight: true,
datesDisabled: data
});
}
});
});
});
答案 0 :(得分:1)
要禁用某些特定日期,您可以覆盖为每个日期调用的方法(beforeShowDay
),然后您可以返回css类:
beforeShowDay:function(date){
if (date<minDate || date > maxDate) {
return 'invalid_date_datepicker';
}
}`
在上面的例子中,invalid_date_datepicker
是一个css类,它使该区域变灰。
如果您还希望不选择这些灰色日期,您还可以覆盖onSelect
并限制它选择已应用此类的日期。