【问题标题】:Knockout: Select all checkboxes not working淘汰赛:选择所有复选框不起作用
【发布时间】:2013-04-19 22:25:56
【问题描述】:

我们正面临一个特殊的问题。我们有一个表格,其中每一行都是可选的,并与敲除绑定,如下所示:

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 列表中。

我们现在需要为每个页面实现一个全选选项,因为有分页。我们正在查看http://jsfiddle.net/rniemeyer/kXYuU/,但无法使其正常工作,这就是问题所在。我能够自己编写一个解决方案,但它比应有的复杂得多。使用 Knockout 应该会更轻松、更清洁。

【问题讨论】:

  • 您能否分享一下您已有的解决方案?这真的会帮助我们帮助您。

标签: knockout.js


【解决方案1】:

首先,我可能是错的,但我认为您不能在 foreach 绑定的上下文之外使用 $root。无论您是否可以,您的th ($root.onSelectAll --> onSelectAll) 的绑定都不需要它。

第二,$root.selectedItems 感觉就像一个 observableArray,你不能将 observableArray 绑定到checked,它必须是一个 observable。

【讨论】:

    猜你喜欢
    • 2020-08-28
    • 2017-12-07
    • 2012-12-04
    • 1970-01-01
    • 1970-01-01
    • 2015-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多