Jquery UI datepicker カレンダーから特定の日付を無効にしようとしています。
私の問題は、 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;
}