2013-10-24 43 views
3

我試圖根據使用Knockout-Kendo.js選擇的選定值啓用/禁用一個kendo日期選擇器。使用Knockout-Kendo.js動態啓用/禁用kendo日期選擇器

的HTML:

<select data-bind="value: test"> 
    <option value="1">1</option> 
    <option value="2">2</option> 
</select> 
<input data-bind="kendoDatePicker: {value: date, enabled: test() == 2}" /> 

的JS:

ko.applyBindings({ 
    date: ko.observable(), 
    test: ko.observable(), 
}); 

小提琴:http://jsfiddle.net/xTjqH/2/

它最初禁用的日期選擇器,但它不會使一次 「2」 被選擇。

回答

3

基於kendo綁定中各個選項跟蹤依賴關係的方式,您需要用計算結果表示您的enabled條件。否則,立刻評估test() == 2,永不再次。

與樣品,你可以綁定針對計算像dateEnabled

var viewModel = { 
    date: ko.observable(), 
    test: ko.observable(), 
}; 

viewModel.dateEnabled = ko.computed(function() { 
    return viewModel.test() === "2"; 
}); 

樣品:http://jsfiddle.net/rniemeyer/JaVKt/

+0

好吧,這是很好的瞭解。謝謝。 – sroes

相關問題