Я только начал играть с Knockout.js, и это кажется действительно крутым. У меня есть сетка. Эта сетка имеет столбец с флажком вверху, чтобы "выбрать все" элементов, а также снять выделение. Стандартное поведение сетки.
Здесь мой код:
JavaScript:
// Define a "banner" class
function banner(inventory, name, artType, artSize) {
return {
isSelected : ko.observable(false),
inventory : ko.observable(inventory),
name : ko.observable(name),
artType : ko.observable(artType),
artSize : ko.observable(artSize)
};
}
var viewModel = {
banners : ko.observableArray([new banner("network", "Banner #1"), new banner("oo", "Banner #2")]),
addBanner : function() {
this.banners.push(new banner("network", "Banner"));
},
selectAll : function() {
this.banners.isSelected(true)
}
};
ko.applyBindings(viewModel);
Я привязываю событие selectAll к флажку, например:
<th><input data-bind="click: selectAll" type="checkbox" /></th>
И для каждого отдельного баннера, который у меня есть в моем списке, их флажок выглядит следующим образом:
<td><input data-bind="checked: isSelected" type="checkbox" /></td>
По какой-то причине моя функция selectAll работает некорректно. Я новичок в этой парадигме программирования JavaScript OO, поэтому я могу делать что-то явно неправое.
Спасибо!