jquery multiselect - 绑定到淘汰赛问题

时间:2012-07-08 00:29:35

标签: knockout.js multi-select custom-binding

我在将Eric Hynds excellent multiselect widget与Knockout一起使用时遇到问题。

我的代码是here

我正在使用this article的自定义绑定。

如果您更改第一个框中的选项,多选将恢复为默认类型而不是使用插件 - 我猜我需要修改绑定,但我对Knockout相当新并且很快得到超出我的深度。

任何人都可以提出任何建议吗 - 任何有关如何编写自定义绑定的文章都可能对任何人有任何参考资料非常有用。

好的:我离我更近了:见here

现在唯一的问题是,无论何时更改第一个框中的选项,您都会丢失第二个仍然相关的任何项目 - 例如,如果您:

还有一些奇怪的行为
  1. 选择“所有链接健康”
  2. 点击多项选择并查看第一项
  3. 选择“所有手表”
  4. 再次选择“All Link Health”
  5. 然后你突然检查了所有5件物品!

2 个答案:

答案 0 :(得分:2)

在我的情况下,我发现敲除2.1.0默认情况下不会将“value”属性填充到标记,因此在检查一个项目之后将选择基础控件中的所有选项,因为所有值都等于空。您需要在绑定中定义“optionsValue”。

答案 1 :(得分:0)

我终于设法做到了这一点,虽然不相信我有最好的方法。

我无法在多个选项中使用“with:ReportTemplate”来管理它,其中ReportTemplate是第一个框中的选定项目。

我接近this方法 - 如果您在第一个组合中选择“All Link Health”,然后在底部多选控件中,请选中详细信息旁边的框,这会导致奇怪的行为,然后切换回“所有手表” - 底部多选仍然显示5列可用,而顶部多选正确显示3个可用的。

最后,我采用了一种订阅功能来更新选择列表可用选项的方法:小提琴here。这感觉有点笨拙,但这是我发现的唯一可行的方法。

如果有人能解释为什么其他方法不起作用,我会感兴趣。