我有一个函数禁用datepicker
中显示日期之前的特定日期,但是我有一个错误:当我第一次调用我的函数时它有效,但在第二次调用时我仍然有第一个结果。
例如,在第一次通话时,我已经禁用星期天,当我再次呼叫该功能时,我也禁用星期天。
我发现错误在BeforShowDay
中使用的变量中,但仍未在datepicker
内部更改,但在每次调用中外部都是更改者。
这是我的代码:
function loadFreeDays (etablissement) {
var array=[];
$.ajax({
type: "POST",
url: "/promo3/etablissments/getFreeDays/"+etablissement,
data: {'etablissement': etablissement } ,
dataType: 'json',
success: function(response){
$.each(response, function(i, value) {
array.push(value);
}),
/*console.log(" diasbled days are "+array); here variable still is changed */
$('#datepicker').datepicker({
beforeShowDay: function(date){
/* here array variable still not changed */
for (i = 0; i < array.length; i++) {
if (date.getDay() == array[i][0]) {
return [false];
}
}
var string = jQuery.datepicker.formatDate('d-m-yy', date);
var day = date.getDay();
return [true, ''];
}
});
},
error: function(x, e) { }
});
}
答案 0 :(得分:0)
我通过在ajax函数之前整理$('#txtDate').datepicker("destroy");
来解决问题。
它现在有效。