私はこれまでJQuery UI DatePickerを使用してきましたが、かなり満足しています。私は将来、複数の日付をユーザーに表示する方法を探しています。私は、ユーザーが日付を選択できるようにする必要はありません、私はちょうどそれらを実行時にそれらを修正したい。JQuery UI DatePickerを複数の日付表示
これを可能にする簡単な方法はありますか?
私はこれまでJQuery UI DatePickerを使用してきましたが、かなり満足しています。私は将来、複数の日付をユーザーに表示する方法を探しています。私は、ユーザーが日付を選択できるようにする必要はありません、私はちょうどそれらを実行時にそれらを修正したい。JQuery UI DatePickerを複数の日付表示
これを可能にする簡単な方法はありますか?
これは、beforeShowDay
イベントで行うことができます。
// list of dates to highlight
var dates = [
[2011, 8, 1],
[2011, 8, 9],
[2011, 8, 25]
];
$('#datepicker').datepicker({
beforeShowDay: function (date){
var year = date.getFullYear(), month = date.getMonth(), day = date.getDate();
// see if the current date should be highlighted
for (var i=0; i < dates.length; ++i)
if (year == dates[i][0] && month == dates[i][1] - 1 && day == dates[i][2])
return [false, 'ui-state-highlight ui-state-active'];
return [false];
}
});
例を参照してください:http://jsfiddle.net/william/VzZYU/
私はこれを行う機能がdatepickerに組み込まれているとは思わない。だから、あなたが求めていることをする簡単な方法ではないようです。
ただし、複数の日付にui-datepicker-current-dayクラスを適用することでこれを実現できます。選択したい日付のタグを見つけて手動で行う必要があります。
日付を選択できないようにするには、"disable" datepickerメソッドまたは"disabled"オプションを使用できます。しかし、それはカレンダーを薄暗くするでしょう。別の考えられる方法は、onSelectイベントを処理し、cssクラスを複数の日付に再割り当てし、ユーザーが選択した日付から削除することです。
はまだユーザー入力を無効にしません...しかし、これは行います! – Jonathan
2つの日付の配列があり、日付のいくつかが同じ場合はどうなりますか?同じセルに2つのクラス(各配列ループに1つずつ)を持たせるにはどうすればよいですか?私は2つのforループを使ってみましたが、第1ループのクラスだけを追加します。 – otinanai
あなたの例に基づいてこのフィドルをチェックしてください:http://jsfiddle.net/e3Lba5hx/2/ – otinanai