アプリケーションにjquerydatepickerを使用しています。
ユーザーが選択した日付を強調したい。ユーザーが日付を選択すると、その日付が休日としてデータベースに追加され、日付が強調表示されます。私はすでにデータベースにいくつかの日付があり、beforeShowDayイベントを使用する前に強調表示されます。また、週末を無効にしました。
データベースに追加した後、その日付を強調表示できないことを除いて、すべてが正常に機能しています。カレンダーをリロードしているときにのみ強調表示されます。
インターネットで検索しましたが、明確なアイデアがわからなかったため、multidatepickerを使用することをお勧めする場所がたくさんありますが、ポイントは、データベースに追加する日付を1つだけ選択してから、他の日付を選択することです。
私がどこで間違っているのか教えてください。私のコードは-
var dates = [ <? php echo $holidays; ?> ];
$(document).ready(function () {
$("#calendardisplay").datepicker({
dateFormat: 'yy-mm-dd',
beforeShowDay: highlightDays,
onSelect: dateSelected
});
function dateSelected(dateText, inst) {
$.post('/postChannelHoliday.php', {
'date': dateText
}, function (data) {
alert('Successfully Added');
});
}
}
function holiday(date) {
for (var i = 0; i < dates.length; i++) {
if (new Date(dates[i]).toString().substr(0, 16) == date.toString().substr(0, 16)) {
return [true, 'ui-state-highlight'];
}
}
return [true, ''];
}
function highlightDays(date) {
var noWeekend = $.datepicker.noWeekends(date);
if (noWeekend[0]) {
return holiday(date);
} else {
return noWeekend;
}
}
});
データベースに保存されている日付を取得してカレンダーで強調表示するためのphpファイルを含めています