如何解决jQuery UI Datepicker-如何动态禁用特定日期
我在一个项目中使用jQuery UI Datepicker小部件。 我想在datepicker日历中禁用特定日期的数组,但是我想在进行ajax调用之后而不是在页面加载时完成。
我与datepicker相关的html元素是:
<input type="text" id="inpIdForDate" class="form-control" placeholder="Choose for date" />
将datepicker小部件加载到html元素的jQuery代码是:
$("#inpIdForDate").datepicker({
dateFormat: "yy-mm-dd",firstDay: 1
});
现在,我想启动一个ajax调用来检索要在datepicker日历中禁用的日期数组。
$.ajax({
method: "get",url: "../api/...",success: function (arrayOfDatesToBeDisabled) {
$("#inpIdForDate").datepicker({
beforeShowDay: function (date) {
var string = $.datepicker.formatDate('yy-mm-dd',date);
return [arrayOfDatesToBeDisabled.indexOf(string) == -1]
}
});
}
});
上面的代码没有给出任何错误,但没有禁用arrayOfDatesToBeDisabled中的日期。 有什么建议可以解决这个问题吗?
解决方法
您可以等待响应:
async function datesToDisable(){
let dates = await $.ajax(method: "get",url: "../api/...");
return dates
}
$(function(){
$('something').datepicker({
beforeShowDay: datesToDisable
});
})
,
您确定转换后的字符串与arrayOfDatesToBeDisabled中的字符串类型相同吗?原因是Jquery datepicker中的“ yy-mm-dd”表示“ yyyy-mm-dd”。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。