当尝试通过敲除绑定取消选择当前所选项目时,似乎重置为重置前的状态:
以下是示例:
从下拉列表中选择jQuery,然后单击“清除”以查看此行为。
以下是数据绑定的完成方式:
data-bind="value: selected, chosen: {}">
关于如何让它实际重置的任何想法?
答案 0 :(得分:0)
您看到这个的原因是因为控件的工作原理。单击“清除”时,将observable设置为null。然后,插件尝试查找值为null的选项。因为它找不到它,它会将您的选择重置为上次选择的内容。
在你的jsfiddle中,如果你改变这一行:
myViewModel.selected(null);
到这一行:
myViewModel.selected("");
那么你的例子就可以了。原因是你有一个选项,其中值为空字符串。
此外,如果您希望在UI上更新插件,则还需要使用此插件:
$(".chosen").trigger("chosen:updated");