我尝试使用以下功能从dijit.form.filteringselect删除所有选项,并向dijit.form.filteringselect添加一个选项.但是,我收到一个错误:没有方法getoptions和addOption.我正在使用dojo 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小部件的选项,您需要与此商店进行交互.我已经演示了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);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。