Динамическое включение/отключение средства выбора даты кендо с помощью Knockout-Kendo.js

Я пытаюсь включить/отключить средство выбора даты кендо на основе выбранного значения выбора с помощью Knockout-Kendo.js.

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».


person sroes    schedule 24.10.2013    source источник


Ответы (1)


В зависимости от того, как отслеживаются зависимости для отдельных параметров в привязках кендо, вам нужно будет представить свое 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/

person RP Niemeyer    schedule 24.10.2013