【问题标题】:Impossible to reset Chosen value with knockout无法通过淘汰赛重置选择的值
【发布时间】:2013-10-09 06:41:05
【问题描述】:

当在页面上的选定列表中选择值,然后离开页面,然后返回时,这些值仍然设置在选定的选择中。不管我做什么。

我已经为此搜索了很多。我尝试了以下方法:

$(".chzn-select").val('').trigger("liszt:updated");
$(".chzn-select").val('').trigger("chosen:updated");

我尝试在数据绑定中添加 optionsCaption,例如 here

我正在拼命地将我的值可观察值重置为 null、''、[],无论如何,没有任何效果。

这里有什么绝招吗?

谢谢

更新:这里是代码,如果有帮助的话。 html:

<select class="chzn-select left" multiple id="selectsector" data-bind="optionsCaption: '', options: sectors(), selectedOptions: selectedSectors, optionsText: 'name'"></select>

还有 JS:

var sectors = ko.observableArray(),
    selectedSectors = ko.observableArray();

我用标准的 js 对象填充扇区,没什么花哨的,而且效果很好。

尼古拉斯

【问题讨论】:

  • jsFiddle 或自定义绑定的源代码将有助于更好地理解问题。
  • 抱歉,我看不出小提琴有什么帮助,因为当我离开页面并返回时会出现问题。但我会在更新的问题中粘贴源代码。
  • 那么你可能需要在 jsFiddle 中以不同的方式模拟问题

标签: knockout.js jquery-chosen


【解决方案1】:

您需要做的就是在您的视图模型中将 observable 的值设置为 null -

selectedSectors([]);

您不能使用 jQuery 清除 Knockout observable 的值。

【讨论】:

    【解决方案2】:

    我有一个案例,我的 observable 是一种设计方式。将 observable 设置为 null 不起作用。为了重置它,我使用了

    selectedSelectors(undefined);

    【讨论】:

    • 感谢您的反对。这怎么没有帮助?我正在寻找解决方案,并找到了这篇文章。其他人会找到它,并查看我的解决方案。也许这会对他们有所帮助。
    猜你喜欢
    • 2014-08-28
    • 2019-06-02
    • 1970-01-01
    • 2015-11-05
    • 2014-10-26
    • 2013-05-04
    • 1970-01-01
    • 2013-10-18
    • 2017-06-09
    相关资源
    最近更新 更多