禁用jquery日期选择器中的自定义日期
Disable custom dates in jquery datepicker
我正在尝试从Jquery UI日期选择器日历中禁用某些日期。
我的问题是,只有disableDays功能检查的最后一个日期被禁用,而不是所有日期。为什么它只禁用上次检查的日期。我应该从该函数返回不同的响应吗?
完整脚本:
var disabled_days = new Array(); // Array of Date() objects
$('.date-picker-day').live('click', function () {
$(this).datepicker({
changeMonth: true,
changeYear: true,
showButtonPanel: true,
dateFormat: 'dd',
beforeShow: function () {
[..]
},
beforeShowDay: disableDays,
onClose: function (dateText, inst) {
}
}).focus();
});
function disableDays(date) {
var ret = false;
$.each(disabled_days, function (k, v) {
if (v.getDate() == date.getDate()) {
console.log(v + 'vs.' + date + ' invalid');
ret = [false];
} else {
ret = [true];
}
});
return ret;
}
一旦发现负匹配,就需要停止disabled_days
数组的进一步迭代,否则在下一次值迭代中,日期将不匹配,ret
将再次获得true
值
function disableDays(date) {
var ret = false;
$.each(disabled_days, function (k, v) {
if (v.getDate() == date.getDate()) {
console.log(v + 'vs.' + date + ' invalid');
ret = [false];
return false;
} else {
ret = [true];
}
});
return ret;
}
演示:Fiddle
相关文章:
- AngularJS自定义日期选择器指令
- 使用javascript&自定义验证器检查开始日期和结束日期
- 自定义angularjs过滤器日期时间格式额外字符
- 自定义javascript日期
- 范围中匹配日期值的自定义ng筛选器
- DataTables自定义日期格式排序
- 使用J-query数据表,美国日期格式的自定义排序不起作用
- 两个日期之间的自定义过滤器 AngularJS
- 无法自定义引导日期选取器
- 谷歌脚本的自定义日期格式
- 日期选取器的自定义标头
- 自定义 Angular 日期范围过滤器,以仅显示该日期范围内的项目
- 使用自定义规则计算两个日期之间的天数
- 在自定义格式的Javascript中解析“日期和时间”字符串
- 在javascript中自定义日期和时间
- 从字符串解析自定义日期
- 自定义日期格式的正则表达式
- 具有自定义开始日期的日期选择器
- 在javascript中将日期转换为自定义格式
- 如何在 php 中设置自定义月份开始日期和结束日期