キースウッドの素晴らしいjQueryDatepickerプラグインを使用しています
管理システムで日付ピッカーを使用して、会場で予約された日付を管理者に表示しています。
これらの予約された日付を日付ピッカーに表示するために使用される日付のリスト(データベースから取得)があります。しかし、管理者がこれらの日付のいずれかを変更して日付を利用できるようにしたい場合、カレンダーでは、すでに選択されている日付を「選択解除」することはできません。
これはコードの縮小版ですが、問題はまだ存在します。このコードは6月26日と6月27日の日付を予約済みとして表示しますが、「予約解除」するように選択することはできません。
<script type="text/javascript">
var bookedDaysList = [[6, 26], [6, 27]];
function bookedDays(date, inMonth) {
if (inMonth) {
for (i = 0; i < bookedDaysList.length; i++) {
if (date.getMonth() + 1 == bookedDaysList[i][0] &&
date.getDate() == bookedDaysList[i][1]) {
return {dateClass: 'datepick-selected',selectable: true};
}
}
}
return {};
}
/* create datepicker */
jQuery(document).ready(function () {
jQuery('#show-dates').datepick({
dateFormat: 'dd-mm-yy',
altFormat: '[m,d]',
onDate: bookedDays,
buttonImage: 'css/images/datepicker.gif',
buttonImageOnly: true,
monthsToShow: 3,
multiSelect: 999,
showOn: 'both'
});
});
</script>