无法使用jQueryUI datepicker选项beforeShowDay
。
我尝试过不同的帮助主题,但我无法使用。
我收到此错误
未捕获的TypeError:无法读取属性' 0'未定义的
这是我的JS。但它似乎没有效果
<script type="text/javascript">
jQuery(document).ready(function () {
var your_dates = [new Date(13, 5, 5), new Date(13, 5, 10)];
jQuery("div#event-calender").datepicker({
beforeShowDay: function (date) {
if (jQuery.inArray(date.toString(), your_dates) != -1) {
return [true, 'highlight'];
}
}
});
});
</script>
答案 0 :(得分:13)
您需要始终返回一个数组,而不仅仅是条件匹配时。
beforeShowDay
类型:功能(日期日期)
将日期作为参数并且必须返回数组
的函数
jQuery(document).ready(function () {
var your_dates = [new Date(13, 5, 5), new Date(13, 5, 10)];
jQuery("div#event-calender").datepicker({
beforeShowDay: function (date) {
var arr;
if (jQuery.inArray(date.toString(), your_dates) != -1) {
arr = [true, 'highlight'];
}else {
arr = [true, ''];
}
return arr;
}
});
});
答案 1 :(得分:3)
<强> beforeShowDay 强>
将日期作为参数并且必须返回数组的函数 用:
- true / false表示此日期是否可以选择CSS
- 要添加到日期单元格的类名或“”作为默认
- 演示此日期的可选弹出工具提示
在日期选择器之前,每天都会调用该函数 显示
将beforeShowDay
更改为
beforeShowDay: function (date) {
if (jQuery.inArray(date.toString(), your_dates) != -1) {
return [true, 'highlight'];
} else {
return [true, ''];
}
}
修改强>
将your_dates
更改为
var your_dates = [new Date(2013,5,5).toString(), new Date(2013,5,10).toString()];
或使用类似的内容而不是jQuery.inArray(...)
var found = your_dates.filter(function(d) {
return date.getTime() === d.getTime();
}).length > 0;
return [true, (found ? 'highlight' : '')];