Kendo UI DatePicker 在更改事件后不设置值 运行
Kendo UI DatePicker Does Not Set Value After Change Event Run
我在页面上有两个 Kendo UI DatePicker 对象。它们都设置了一个在 document.ready()
中调用的函数。在日期更改时运行更改事件后,从 document.ready() 调用的相同函数再次运行。但是这次第一个datepicker对象没有设置值。我像下面这样使用它
var endPicker = $("#endDate").data("kendoDatePicker");
var beginPicker = $("#startDate").data("kendoDatePicker");
if ($("#today").is(':checked')) {
beginPicker.value(new Date());//this one sets null not the date
endPicker.value(new Date());
}
有些东西阻止设置第一个日期选择器的值。更改事件仅用于验证日期范围,开始和结束日期选择器分别调用它们
function startChange() {
var endPicker = $("#endDate").data("kendoDatePicker"),
first = this.value();
if (first) {
first = new Date(first);
first.setDate(first.getDate() + 1);
endPicker.min(first);
}
dateChanged();//calls ajax
}
function endChange() {
var startPicker = $("#startDate").data("kendoDatePicker"),
second = this.value();
if (second) {
second = new Date(second);
second.setDate(second.getDate() - 1);
startPicker.max(second);
}
dateChanged();//calls ajax
}
啊,我终于找到问题所在了,为什么第一个日期选择器不能设置今天的值。这都是关于第二个日期选择器的更改事件。它将自己的值 -1 设置为第一个日期选择器的最大值。所以它应该写成 second.setDate(second.getDate());
在这种情况下,他们设置 new Date()
作为他们的新值。
我在页面上有两个 Kendo UI DatePicker 对象。它们都设置了一个在 document.ready()
中调用的函数。在日期更改时运行更改事件后,从 document.ready() 调用的相同函数再次运行。但是这次第一个datepicker对象没有设置值。我像下面这样使用它
var endPicker = $("#endDate").data("kendoDatePicker");
var beginPicker = $("#startDate").data("kendoDatePicker");
if ($("#today").is(':checked')) {
beginPicker.value(new Date());//this one sets null not the date
endPicker.value(new Date());
}
有些东西阻止设置第一个日期选择器的值。更改事件仅用于验证日期范围,开始和结束日期选择器分别调用它们
function startChange() {
var endPicker = $("#endDate").data("kendoDatePicker"),
first = this.value();
if (first) {
first = new Date(first);
first.setDate(first.getDate() + 1);
endPicker.min(first);
}
dateChanged();//calls ajax
}
function endChange() {
var startPicker = $("#startDate").data("kendoDatePicker"),
second = this.value();
if (second) {
second = new Date(second);
second.setDate(second.getDate() - 1);
startPicker.max(second);
}
dateChanged();//calls ajax
}
啊,我终于找到问题所在了,为什么第一个日期选择器不能设置今天的值。这都是关于第二个日期选择器的更改事件。它将自己的值 -1 设置为第一个日期选择器的最大值。所以它应该写成 second.setDate(second.getDate());
在这种情况下,他们设置 new Date()
作为他们的新值。