曜日によっては、datepickerで日を非表示にすることに問題があります。たとえば、今日が金曜日の場合は土曜日を非表示にし、今日が土曜日の場合は日曜日を非表示にします。
今日が何日かをチェックするこのコードがあります:
$(function () {
var day_date = new Date();
var weekday = new Array(7);
weekday[0]="Sunday";
weekday[1]="Monday";
weekday[2]="Tuesday";
weekday[3]="Wednesday";
weekday[4]="Thursday";
weekday[5]="Friday";
weekday[6]="Saturday";
var n = weekday[day_date.getDay()];
$('#day_of_week').val(n);
});
私はまた、常に隠されている週末と日を(しかし全体的に)隠すためのこのコードを持っています:
var disabledDays = ['15/8/2012', '1/11/2012', '11/11/2012', '25/12/2012', '26/12/2012'];
function nationalDays(date) {
var m = date.getMonth(),
d = date.getDate(),
y = date.getFullYear();
for (i = 0; i < disabledDays.length; i++) {
if ($.inArray(d + '/' + (m + 1) + '/' + y, disabledDays) != -1 || new Date() > date) {
return [false];
}
}
return [true];
}
function noWeekendsOrHolidays(date) {
var noWeekend = jQuery.datepicker.noWeekends(date);
return noWeekend[0] ? nationalDays(date) : noWeekend;
}
datepickerでは、上記のコードを「実行」する行は次のようになります。
beforeShowDay: noWeekendsOrHolidays,
私はこのコードでこれを行おうとしましたが、うまくいきませんでした:
$('#day_of_week').change(function()
if( $("#day_of_week").val() == Friday ) {
$("#date_from, #date_to").datepicker({
beforeShowDay: noWeekendsOrHolidays
});
}
else {
}
});
私はどんな助けにも非常に感謝します。