【问题标题】:how to remove all options from a dijit/form/select?如何从 dijit/form/select 中删除所有选项?
【发布时间】:2018-11-14 19:02:19
【问题描述】:

我在我的网页上使用了一个非常简单的 dijit/form/select 我通过这样的代码添加了几个选项:

option1 = { value: "o1", label: "option 1", selected: false };
option2 = { value: "o2", label: "option 2", selected: true };

this.mySelect.addOption([option1, option2]);   

它正在工作。 但是,当我尝试使用此代码清除我的 dijit/form/select 时:

this.mySelect.removeOption(this.mySelect.getOption());

我的所有选项都消失了,除了选定的选项。

我尝试使用 .reset 甚至 .value = '' 但没有任何效果。

那么如何从 dijit/form/select 中删除所有选项?

【问题讨论】:

    标签: javascript combobox dojo dijit.form


    【解决方案1】:

    其实答案很简单,但没有很好的记录(it's pretty hard to find, like all dojo related stuff)

    this.mySelect.removeOption(lang.clone(option1));
    this.mySelect.removeOption(lang.clone(option2));
    
    this.mySelect.store = null;
    this.mySelect.set('value', '');
    this.mySelect._setDisplay(""); //This line alone should do the trick
    

    就像在 cmets 中一样,最后一行应该可以解决问题,但这样可以确保 select 元素被清除。

    演示: JSFiddle demo

    【讨论】:

    • 很高兴帮助@skerdreux
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-11
    • 1970-01-01
    • 2013-12-19
    • 1970-01-01
    相关资源
    最近更新 更多