[英]How to remove all options from a Dijit FilteringSelect widget?
我嘗試從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
進行交互。 我已經設置了這個小提琴來演示,但基本上你想要將你的功能改為:
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);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.