kendo DatePicker中是否有任何默认方式可确保To date始终大于或等于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不是函数”
答案 0 :(得分:6)
您的startdatepicker
是HTML input object
,除了value
之外没有property
方法。所以你应该使用:startdatetimepicker.value
。
尽管如此,我建议使用Kendo UI Date Time Picker更改为:
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 here