我对Knockout JS完全不熟悉。我有一个表,其中一列是输入类型复选框。 在html表的末尾我有一个按钮作为"添加"。 现在我要做的就是点击"添加"按钮我应该能够获得检查复选框的所有行。
HTML
<table>
<thead>
<tr>
<th>Add Data</th>
</tr>
</thead>
<tbody data-bind="foreach: SearchResult">
<tr>
<td data-bind="text: Name"></td>
<td><input type="checkbox" class="" data-bind="checked: selectedArray"/></td>
</tr>
</tbody>
<tfoot>
<tr>
<td><button type="button" id="addButton" data-bind="click: AddSelection">Add</button></td>
</tr>
</tfoot>
</table>
现在有人可以告诉我如何获取选中复选框列的所有行。 我已经完成了这个,但这对我没用。
send information from multiple checkbox to array Knockout js
答案 0 :(得分:1)
这是更新的小提琴:http://jsfiddle.net/u9ts4uvf/1/
您可以创建addItem函数,该函数创建一个新项目,并将其添加到数组availableItems
:
self.addItem = function() {
var item = new BookItem(1, 'Lorem Ipsum', '$0.99');
item.Selected(true);
self.availableItems.push(item);
};
但您还需要在复选框中添加checked
绑定,以确保在Selected
将BookItem
设置为true时检查它们:
<input type="checkbox" data-bind="value: id(), click: $root.toggleAssociation, checked: Selected" />