2013-03-30 28 views
15

我想使用下面的代碼來設置我的DatePicker的值,並期望提高「更改」事件,但事實並非如此。如何在KendoUI DatePicker中引發更改事件?

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); 

但是,通過用戶界面更改日期值確實會引發「更改」事件。

回答

15

請嘗試使用下面的代碼片段。

HTML

<input id="datepicker" /> 
<input type="button" value="set date" onclick="setdateInDP()"> 

JS

<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"); 
} 

+3

它的工作原理。謝謝! –

相關問題