2

当试图通过敲除绑定取消选择当前选定的项目时,它似乎被重置回重置之前的状态:

这是示例:

http://jsfiddle.net/WPpH2/7

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

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

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

关于如何让这个真正重置的任何想法?

4

1 回答 1

0

您看到这种情况的原因是控件的工作方式。当您单击清除时,您将 observable 设置为 null。然后插件会尝试查找值为 null 的选项。因为它没有找到它,所以它将您的选择重置为上次选择的内容。

在您的 jsfiddle 中,如果您更改此行:

myViewModel.selected(null);

到这一行:

myViewModel.selected("");

那么您的示例将起作用。原因是您可以选择值为空字符串。

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

$(".chosen").trigger("chosen:updated");
于 2014-03-03T06:59:06.793 回答