Я пишу плагин с использованием jQuery и нокаутом. У меня есть два переключателя. Я использую привязку данных для нокаута для проверки и снятия галочки с переключателя. Проблема в том, что, когда я пытаюсь снять галочку с помощью кнопки с помощью jQuery, она не обновляет свойство bind observable.Невозможно вызвать привязку данных для нокаута с использованием jQuery
<input type="radio" data-bind="checked: selectedVal" name="1" value="fixedPrice"/> Fixed Price
<input class="hn" type="radio" data-bind="checked: selectedVal" name="1" value="allowBiding"/> Allow Biding
<pre data-bind="text:ko.toJSON($data,null,2)"></pre>
<input type="button" id="button" value="Click Me" />
var onClick = function() {
$('.hn').prop('checked', true);
};
$('#button').click(onClick);
var ViewModel = function() {
var self = this;
self.selectedVal = ko.observable("fixedPrice");
self.selectedVal.subscribe(function (val) {
console.log(val)
});
};
ko.applyBindings(new ViewModel());
0 См. Дополнительные характеристики this jsfiddle.
Это не ошибка. Нокаут реагирует на событие, как вы заметили, и не вручную меняет свойство «checked» с помощью JavaScript. –
'$ ('. Hn ') [0] .click();' отлично работал для меня. Нужно было запустить его как часть автоматического инструмента тестирования визуальной регрессии, который я создал. Спасибо. –