无法取消选择Chosen和Knockout Binding选项

时间:2013-11-07 00:31:53

标签: javascript knockout.js jquery-chosen

当尝试通过敲除绑定取消选择当前所选项目时,似乎重置为重置前的状态:

以下是示例:

http://jsfiddle.net/WPpH2/7

从下拉列表中选择jQuery,然后单击“清除”以查看此行为。

以下是数据绑定的完成方式:

data-bind="value: selected, chosen: {}">

关于如何让它实际重置的任何想法?

1 个答案:

答案 0 :(得分:0)

您看到这个的原因是因为控件的工作原理。单击“清除”时,将observable设置为null。然后,插件尝试查找值为null的选项。因为它找不到它,它会将您的选择重置为上次选择的内容。

在你的jsfiddle中,如果你改变这一行:

myViewModel.selected(null);

到这一行:

myViewModel.selected("");

那么你的例子就可以了。原因是你有一个选项,其中值为空字符串。

此外,如果您希望在UI上更新插件,则还需要使用此插件:

$(".chosen").trigger("chosen:updated");