2011-11-18 95 views
6

将复杂值列表(id/ 说明)绑定到复选框列表时,出现问题。使用带有复选框列表的淘汰赛中的已检查绑定检查所有复选框

问题是我不仅需要id或描述,而且还需要 。

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

这是更大的东西的一部分,我想的对象, 不是这个原因只是ID是又复杂的类型将有一个列表 我要绑定到复选框的另一个列表。

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

感谢你的帮助。

回答

10

我单独跟踪每个项目的状态,然后开始使用一个dependent observablethis

+0

太棒了!我的列表是来自后端的序列化数据,但是我最终循环了初始数组,掌控所选属性:http://jsfiddle.net/M8KFd/2/ 顺便说一句,您应该考虑使用'ko.utils.arrayFilter'而不是'$ .grep'来避免混合代码中的依赖关系。 谢谢! –

0

一个简单的解决方案选定的项目,是假的CSS的复选框,然后用淘汰赛就叫这将传递一个方法整个项目的视图模型:

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

当然,这不适用于所有情况按照理查德朋友的答案。