作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试使用以下函数从 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/
我是一名优秀的程序员,十分优秀!