午前 9 時から午後 6 時までのみ表示するように kendoDateTimePicker を設定しようとしています。これは可能ですか?
4 に答える
var startDateReference = $('.startDate').kendoDateTimePicker({
format: "dd-MM-yy HH:mm:ss",
value : new Date(),
}).data("kendoDateTimePicker");
startDateReference.timeView.options.min = new Date(2000, 0, 1, 7, 30, 0);
startDateReference.timeView.options.max = new Date(2000, 0, 1, 18, 00, 0);
これは私のために働いています
この質問が出されてからしばらく経ちました。しかし、今後の参考のために私の回答を追加します。
kendo DateTimePicker は、TimePicker への範囲の追加をサポートしていません。ただし、それを行う独自のウィジェットを追加できます。
(function($) {
var dateTimePicker = kendo.ui.DateTimePicker;
var MyWidget = dateTimePicker.extend({
init: function(element, options) {
dateTimePicker.fn.init.call(this, element, options);
},
startTime: function(startTime) {
var timeViewOptions = this.timeView.options;
timeViewOptions.min = startTime;
this.timeView.setOptions(timeViewOptions);
},
endTime: function(endTime) {
var timeViewOptions = this.timeView.options;
timeViewOptions.max = endTime;
this.timeView.setOptions(timeViewOptions);
},
options: {
name: "CustomDateTimePicker"
}
});
kendo.ui.plugin(MyWidget);
})(jQuery);
次に、次のように呼び出すことができますCustomDateTimePicker
:
var datePicker = $("#date-picker").kendoCustomDateTimePicker().data("kendoCustomDateTimePicker");
datePicker.startTime("07:00");
datePicker.endTime("11:00");
剣道ではと日付DateTimePicker
を選択できますが、各日の時間範囲は選択できませんが、 では可能です。min
max
TimePicker
DatePicker
おそらく、UI をとで分解してから、時間範囲に合わせてとTimePicker
を選択できます。max
min
単一の値を構成するために使用される日付ピッカーと時刻ピッカーを持つという奇妙な UI を使用するのではなく、日付と時刻を選択するために日時ピッカーを使用する必要があると感じたため、このハックをまとめました。
$('#NewScheduledDateTime_timeview > li').each(function () {
bool removeTimeCondition = /* code to determine if time should be removed */
if (removeTimeCondition)
$(this).remove();
})
リストのIDは異なります。それを見つけるには、時間リストを展開し、お気に入りのブラウザーの開発ツールを使用して時間の 1 つの「要素を検査」します。
Kendo UI が新しいバージョンに更新されると、これが壊れる可能性があることに注意してください。私が言ったように、それはハックです。しかし、Kendo UI のバージョンを更新しようとすると、ハックではないものでも壊れてしまいます。教訓: Kendo UI を使用しないでください。