我们正面临一个特殊问题。我们有一个表,其中每一行都是可选择的并且与knockout绑定,如下所示:
thead
tr
th: input(type="checkbox", data-bind="checked: $root.onSelectAll")
..
..
tbody(data-bind="foreach: items")
tr
td
input(type="checkbox", data-bind="attr: { value: $data.id }, checked: $root.selectedItems")
..
..
这很好,因为我们选择一个项目,并且它的id属性被添加到selectedItems列表。
我们现在需要为每个页面实现一个select all选项,因为它有分页。我们正在考虑http://jsfiddle.net/rniemeyer/kXYuU/,但无法使其发挥作用,这就是问题所在。我能够自己编写一个解决方案,但它比应该的要复杂得多。使用Knockout它应该更容易和更清洁。
答案 0 :(得分:0)
首先,我可能错了,但我认为你不能在$root
绑定的上下文之外使用foreach
。无论您是否可以,您对th
$root.onSelectAll
- > onSelectAll
的绑定不需要它。
其次,$root.selectedItems
感觉就像一个observableArray,你不能将observableArray绑定到checked
,它必须是一个可观察的。