我一直在为 KendoUI/Knockout 集成而苦苦挣扎。
我的要求:
- 有两个 KendoUI DatePicker 元素(开始日期和结束日期)。结束日期应该是只读的并且应该是一个计算值
- 用于捕获月份值的 KendoUI NumericTextBox 元素(Period)
- 插入 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/ViewModel(我的功能失调的代码被注释掉了):
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/