Я новичок в KnockOut JS и не могу найти причину, по которой привязка данных не работает при использовании jQuery text / x-jquery-tmpl.
Использование: jQuery 1.5.2; нокаут 1.3.0 бета
Я пытаюсь привязать неупорядоченный список к наблюдаемому массиву в модели представления и привязать флажки на объектах элементов списка к другому массиву ko.observble с привязкой 'checked'.
Рабочий код шаблона:
<ul data-bind="foreach: viewModel.booksFromServer()">
<li>
<input type="checkbox" data-bind="checked: viewModel.selectedBooks(), value: Id" />
</li>
</ul>
Это не работает, т.е. отображается список, но выбранные значения не сохраняются в массиве:
<script type=""text/x-jquery-tmpl" id="bookTemplate">
{{each data}}
<li>
<input type="checkbox" value="${Id}" data-bind="checked: selectedBooks" />
</li>
{{/each}}
</script>
В представленной модели у меня есть:
var viewModel ={
selectedBooks = ko.observableArray(),
booksFromServer = ko.observableArray()
//other properties and methods
showBookList: function(bookList){
$("#bookTemplate").tmpl({data: bookList}).appendTo("#book_list");
}
}
Что ты думаешь? Заранее спасибо за помощь.
Петр