Я пытаюсь добавить нокаут JS на страницу поиска на нашем веб-сайте. В настоящее время вы открываете диалоговое окно jQuery, в котором есть несколько флажков критериев, которые вы можете выбрать.
Существует несколько диалогов с несколькими типами критериев. Когда вы открываете диалог, флажки не вступают в силу, пока вы не нажмете кнопку "Обновить", если вы нажмете "Отменить" или просто закроете окно, сделанные вами изменения будут отменены, а диалог будет установлен в прежнее состояние.
Я прочитал этот и несколько других сообщений. Однако, похоже, это работает только с ko.observable
, и я не могу заставить его работать с ko.observableArray
.
Кто-нибудь это сделал или имеет какие-то идеи?
Пример того, что я хочу сделать:
Html:
<form>
<div>
<div>
<label><input type="checkbox" data-bind="checked: genders" value="1" />Male</label>
<label><input type="checkbox" data-bind="checked: genders" value="2" />Female</label>
</div>
</div>
<a id="buttonCancel">Cancel</a>
<a id="buttonUpdate">Update</a>
</form>
<div data-bind="text: ko.toJSON(viewModel)"></div>
JavaScript:
var viewModel = {
genders: ko.observableArrayWithUndo([])
};
ko.applyBindings(viewModel);
$('#buttonCancel').click(function(){
viewModel.genders.resetChange();
});
$('#buttonUpdate').click(function(){
viewModel.genders.commit();
return false;
});