如何在KendoUI DatePicker中触发“Change”事件?

16
我试图使用下面的代码设置DatePicker的值,并期望引发“Change”事件,但实际上并没有。
var datePicker = $("#datePicker").data("kendoDatePicker");
var previousDate = new Date(datePicker.value());
previousDate.setDate(previousDate.getDate() - 1);
$("#displayDate").text(kendo.toString(new Date(previousDate), 'D'));
datePicker.value(previousDate);

通过用户界面更改日期值确实会像预期的那样引发“更改”事件。

1个回答

17
请尝试使用下面的代码片段。
HTML
<input id="datepicker" />
<input type="button" value="set date" onclick="setdateInDP()">

JavaScript

<script type="text/javascript">
$(document).ready(function () {
    function onChange() {
        alert("Change :: " + kendo.toString(this.value(), 'd'));
    }

    $("#datepicker").kendoDatePicker({
        change: onChange
    });
});

function setdateInDP() {
    var datePicker = $("#datepicker").data("kendoDatePicker");
    var previousDate = new Date(datePicker.value());
    previousDate.setDate(previousDate.getDate() - 1);
    datePicker.value(previousDate);
    $("#datepicker").data("kendoDatePicker").trigger("change");
}

1
问题在于当您使用选择器选择日期时,它不会像通常情况下那样触发输入的更改。这是在datepicker的_change()函数中完成的... - Yepeekai

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接