【问题标题】:Using the checked binding in knockout with a list of checkboxes checks all the checkboxes在敲除中使用选中的绑定和复选框列表检查所有复选框
【发布时间】:2012-01-01 02:50:02
【问题描述】:

绑定复杂值列表(id/ 描述)到复选框列表。

问题是我不仅需要 id 或描述,还需要 两者都有。

当我使用 Checked 绑定进行绑定时,列表中的所有复选框 当我单击一项时会检查。

这是更大的事情的一部分,也是我想要这个对象的原因 不只是 id 是复杂类型反过来会有一个列表 我想绑定到另一个复选框列表。

这是一个产生问题的小提琴:http://jsfiddle.net/M8KFd/1

感谢您的帮助。

【问题讨论】:

    标签: knockout.js


    【解决方案1】:

    我单独跟踪每个项目的状态,然后使用dependent observable 之类的this 获取所选项目

    【讨论】:

    • 太棒了!我的列表是来自后端的序列化数据,但我最终循环了初始数组,拍打所选属性:jsfiddle.net/M8KFd/2 BTW,您应该考虑使用ko.utils.arrayFilter 而不是$.grep,以避免在代码中混合依赖项。谢谢!
    【解决方案2】:

    一个更简单的解决方案,是用css伪造复选框,然后用敲除调用一个方法,将整个项目传递给视图模型:

      <li data-bind="click: $parent.setCompany">
            <span data-bind="text: CompanyName"></span>,
            <span data-bind="text: RegAddress_PostTown"></span>
       </li>
    

    根据 Richard Friend 的回答,这当然不适用于所有场景。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-22
      • 2015-12-20
      • 2021-08-27
      相关资源
      最近更新 更多