gpt4 book ai didi

javascript - 如何从 Dijit FilteringSelect 小部件中删除所有选项?

转载 作者:行者123 更新时间:2023-11-29 10:18:37 24 4
gpt4 key购买 nike

我尝试使用以下函数从 dijit.form.filteringselect 中删除所有选项并向 dijit.form.filteringselect 添加一个选项。但是,我收到一个错误:没有方法 getOptions 和 addOption。我正在使用道场 1.7

function showTablesDropDown(tableDiv){
dijit.byId(tableDiv).removeOption(dijit.byId(tableDiv).getOptions());
dijit.byId(tableDiv).addOption(dojo.create("option", {label:"None", value:"None"}));
}

如何从 dijit.form.filteringselect 中删除所有选项并将选项添加到 dijit.form.filteringselect?

最佳答案

这里的问题只是对 FilteringSelect(以及从 _AutoCompleterMixin 继承的任何内容)如何与其数据交互的方式有一点误解。无论您如何创建 FilteringSelect 小部件,控制其选项的底层机制都是一个遵循 Dojo Store API 的对象。 .

这意味着为了修改您的 FilteringSelect 小部件的选项,您需要改为与此 store 交互。我有 set up this fiddle进行演示,但基本上您想将函数更改为:

function showTablesDropDown(tableDiv){
var filteringSelectWidget = dijit.byId(tableDiv);

// Clear current value since options are changing.
filteringSelectWidget.set("value", "");

var store = filteringSelectWidget.get("store");
var newData = [{label: "None", value: "None"}];

// Give the underlying store a new data array.
store.setData(newData);
}

关于javascript - 如何从 Dijit FilteringSelect 小部件中删除所有选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16014835/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com