我一直在努力與KendoUI/Knockout集成。從kendoNumeric控件更改kendoDatePicker值
我的要求:
- 有兩臺KendoUI DatePicker的元素(開始和結束日期)。結束日期應該是隻讀的,應該是一個計算值
- 甲KendoUI NumericTextBox元件(期間)來捕獲月份值
- 當插入NumericTextBox值時,它應自動上添加到結束日期的月份值
我嘗試(請忽略使用表):
HTML
<table>
<tr>
<td>Start Date:</td>
<td>
<input name="StartDate" id="StartDate" data-bind="kendoDatePicker: eventStartDate" />
</td>
</tr>
<tr>
<td>End Date:</td>
<td>
<input name="EndDate" id="EndDate" data-bind="kendoDatePicker: computedEndDate" />
</td>
</tr>
<tr>
<td>Event Period(months) :</td>
<td>
<input id="EventtPeriod" name="EventPeriod" data-bind="kendoNumericTextBox: eventPeriod" />
</td>
</tr>
</table>
的JavaScript /視圖模型(我dysfunc周志武代碼註釋掉):
var ViewModel = function() {
var now = new Date();
this.eventStartDate = ko.observable(now);
this.eventPeriod = ko.observable();
this.computedEndDate = ko.observable();
/* //DOES NOT WORK
this.computedEndDate = ko.computed(function() {
var start = $('#StartDate').data('kendoDatePicker').value();
var period = $('#EndDate').data('kendoNumericTextBox').value()
var end = $('#EndDate').data('kendoDatePicker')
end.value.setMonth(start.getMonth() + period);
//var eventPe
//return end;
});
*/
};
var vm = new ViewModel();
ko.applyBindings(vm);
的jsfiddle: http://jsfiddle.net/user919426/JkgY6/4/
感謝@nemesv。 Upvoted!這與我感興趣的答案非常接近。如何在點擊時更新實時?不是在焦點改變時? – user919426
KO-Kendo不支持此功能,但是您可以「重新創建」也在旋轉事件中訂閱的「kendoNumericTextBox」:http://jsfiddle.net/m3SEF/ – nemesv
@nenesv請添加作爲回答,因此我將其標記爲一個。如果您有分支機構,請在下面查看我的另一個備選方案......這不涉及重新創建。 – user919426