微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我尝试使用以下功能从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] 举报,一经查实,本站将立刻删除。

相关推荐