选择DateTimePicker的范围不能正常工作 [英] Select Range Of DateTimePicker not working properly
问题描述
kendo DatePicker中是否有任何默认方式可确保截止日期"始终大于或等于截止日期". 这是我尝试过的代码:
Is there any default way in kendo DatePicker for ensuring that To date is always greater than or equal to From date. here is the code I've tried:
我的范围选择代码:
function startChange() {
var startDate = startdatetimepicker.value(),
endDate = enddatetimepicker.value();
if (startDate) {
startDate = new Date(startDate);
startDate.setDate(startDate.getDate());
enddatetimepicker.min(startDate);
} else if (endDate) {
startdatetimepicker.max(new Date(endDate));
} else {
endDate = new Date();
startdatetimepicker.max(endDate);
enddatetimepicker.min(endDate);
}
}
function endChange() {
var endDate = enddatetimepicker.value(),
startDate = startdatetimepicker.value();
if (endDate) {
endDate = new Date(endDate);
endDate.setDate(endDate.getDate());
startdatetimepicker.max(endDate);
} else if (startDate) {
enddatetimepicker.min(new Date(startDate));
} else {
endDate = new Date();
startdatetimepicker.max(endDate);
enddatetimepicker.min(endDate);
}
}
我遇到此错误->对象3的属性'值'不是函数"
I am getting this error--> "property 'value' od object 3 is not a function"
推荐答案
您的startdatepicker
是HTML input object
,没有value
方法,只有property
.因此,您应该使用:startdatetimepicker.value
.
Your startdatepicker
is an HTML input object
and there is no value
method but property
. So you should use: startdatetimepicker.value
.
尽管如此,我还是建议使用Kendo UI日期时间选择器更改为:
Nevertheless I recommend changing using the Kendo UI Date Time Picker as:
function startChange() {
var startDate = k_startdatetimepicker.value(),
endDate = k_enddatetimepicker.value();
if (startDate) {
startDate = new Date(startDate);
startDate.setDate(startDate.getDate());
k_enddatetimepicker.min(startDate);
}
else if (endDate) {
k_startdatetimepicker.max(new Date(endDate));
}
else {
endDate = new Date();
k_startdatetimepicker.max(endDate);
k_enddatetimepicker.min(endDate);
}
}
function endChange() {
var endDate = k_enddatetimepicker.value(),
startDate = k_startdatetimepicker.value();
console.log(endDate, startDate);
if (endDate) {
endDate = new Date(endDate);
endDate.setDate(endDate.getDate());
k_startdatetimepicker.max(endDate);
}
else if (startDate) {
k_enddatetimepicker.min(new Date(startDate));
}
else {
endDate = new Date();
k_startdatetimepicker.max(endDate);
k_enddatetimepicker.min(endDate);
}
}
其中k_startdatetimepicker
和k_enddatetimepicker
是:
var k_startdatetimepicker = $("#startdatetimepicker").kendoDateTimePicker({
change: startChange,
showSecond: true,
dateFormat: "dd-mm-yy",
timeFormat: "HH:mm:ss",
format: "dd-MM-yy HH:mm:ss"
}).data("kendoDateTimePicker");
var k_enddatetimepicker = $("#enddatetimepicker").kendoDateTimePicker({
change: endChange,
showSecond: true,
dateFormat: "dd-mm-yy",
timeFormat: "HH:mm:ss",
format: "dd-MM-yy HH:mm:ss"
}).data("kendoDateTimePicker");
运行JSfiddle 此处
Running JSfiddle here
这篇关于选择DateTimePicker的范围不能正常工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!