1
Я пытаюсь выбрать все флажки, используя нокаут. вот мой ViewModelВыбрать все флажок с помощью нокаута
function MasterViewModel() {
var self = this;
self.People = ko.observableArray([new Person("Test1", false), new Person("Test2", false)]);
self.selectedAllBox = ko.observable(false);
self.selectedAllBox.subscribe(function (newValue) {
if (newValue == true) {
ko.utils.arrayForEach(self.People(), function (item) {
item.sel = true;
});
} else {
ko.utils.arrayForEach(self.People(), function (item) {
item.sel = false;
});
}
});
}
Person = function (name, sel) {
this.Name = name;
this.sel = sel;
}
ko.applyBindings(new MasterViewModel());
Вот мой взгляд
<table>
<thead>
<tr>
<th>Name</th>
<th>
<input type="checkbox" data-bind="checked: selectedAllBox" />
</th>
</tr>
</thead>
<tbody data-bind="foreach: $data.People">
<tr>
<td data-bind="text: Name"></td>
<td class="center">
<input type="checkbox" data-bind="checked: sel" />
</td>
</tr>
</tbody></table>
Я не могу получить его, чтобы проверить все. Вот мой Fiddle. Можете ли вы сказать мне, что я делаю неправильно?
Я знаю, что я могу сделать его наблюдаемым, но я не могу, поскольку я получаю эти данные откуда-то еще – Happy
, тогда вам нужно создать модель, которая обертывает человека и имеет наблюдаемые проэфиры. Он не будет работать с наблюдаемыми свойствами. – nemesv
Как я могу его обернуть? Я попытался использовать someObservableArray (self.People), но не работает. – Happy