0

我在使用带有 Knockout的Eric Hynds 出色的多选小部件时遇到问题。

我的代码在这里

我正在使用本文中的自定义绑定。

如果您更改第一个框中的选项,多选将恢复为默认类型而不是使用插件 - 我猜我需要修改绑定,但我对 Knockout 还很陌生,并且很快就摆脱了我的这里的深度。

任何人都可以提出任何建议 - 任何关于如何编写自定义绑定的文章都可能对如果有人有任何参考资料以外的任何参考资料当然有用。

好的:我离得近一点:看这里

现在唯一的问题是,每当您更改第一个框中的选择时,您都会丢失第二个中仍然相关的任何项目 - 还有一些奇怪的行为,例如,如果您:

  1. 选择“所有链接健康”
  2. 单击多选并检查第一项
  3. 选择“所有手表”
  4. 再次选择“所有链接健康”

然后你突然检查了所有 5 个项目!

4

2 回答 2

2

在我的情况下,我发现淘汰赛 2.1.0 默认情况下没有将“值”属性填充到标记,因此在您检查一项后将选择底层控件中的所有选项,因为所有值都等于空。您需要在绑定中定义“optionsValue”。

于 2012-08-01T08:35:12.393 回答
0

我终于设法做到了,尽管我不相信我有最好的方法。

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

我用这种方法更接近了 - 但是如果你在第一个组合中选择“所有链接健康”,然后在底部的多选控件中,选中详细信息旁边的框,然后切换回“所有手表” - 底部多选仍然显示 5 列可用,而顶部多选正确显示 3 个可用列。

最后,我采用了具有订阅功能的方法来更新选择列表可用的选项:Fiddle here。这感觉有点笨拙,但这是我发现的唯一可以按要求工作的方法。

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

于 2012-07-08T18:19:38.333 回答