簡體   English   中英

Dojo:如何禁用dijit.form.FilteringSelect選項

[英]Dojo: How to disable a dijit.form.FilteringSelect option

我試圖禁用dijit / Form / FilteringSelect中的選項項。 這是代碼

 <select id="filtSelect" dojoType="dijit.form.FilteringSelect">  
        <option disabled="disabled">Select</option>  
        <option value="1">One</option>  
        <option value="2">Two</option>  
        <option value="3">Three</option>  
  </select>

請幫我。

您可以這樣操作:(Vers。1.9)

<select data-dojo-type="dijit/form/" id="count" name="count">
    <option disabled="disabled">Select</option>  
    <option value="1">One</option>  
    <option value="2">Two</option>  
    <option value="3">Three</option>
</select>

這是我上面的示例的完整提琴(由Thomas Upton編輯): http : //jsfiddle.net/tupton/266C4/

這里是dojo的參考: http : //dojotoolkit.org/reference-guide/1.9/dijit/form/FilteringSelect.html? highlight= filteringselect

在1.6版中,它必須看起來像:

<script>
  dojo.require("dijit.form.FilteringSelect");
</script>

<body class="claro">
 <select dojoType="dijit.form.FilteringSelect" id="fruit" name="fruit">
        <option value="AP" disabled>
            Apples
        </option>
        <option value="OR" selected>
            Oranges
        </option>
        <option value="PE">
            Pears
        </option>
    </select>
</body>

這里是此版本的小提琴: http : //jsfiddle.net/Q4zw6/

加載dijit.form.filteringSelect實例以使用它很重要。

此致Miriam

我不相信您可以使用dijit/form/FilteringSelect禁用選項,因為它是基於商店的,應該允許用戶輸入任何文本。

有一個名為displayedValue的屬性,您可以使用它來設置所需的任何內容。 但是,使用FilteringSelect不是選項的任何文本被標記為錯誤輸入,如以下代碼和此jsfiddle所示

<select data-dojo-type="dijit/form/FilteringSelect" data-dojo-props="displayedValue: 'Select'" id="count" name="count">
        <option value="1">One</option>  
        <option value="2">Two</option>  
        <option value="3">Three</option>
</select>

您可以以完全相同的方式使用dijit/form/ComboBox FilteringSelectComboBox之間的區別在於后者允許任何輸入。 有關更多信息,請參見文檔

問題是,正如其他人指出的那樣,FilteringSelect依賴於dojo數據存儲。 因此,如果您不手動創建它,它將在后台發生,並且您將不知道如何引用它。 但是再三考慮,看一下API我發現FilteringSelect有一個名為store的屬性。

因此,您需要自己創建數據存儲並用它初始化FilteringSelect( http://dojotoolkit.org/reference-guide/1.9/dijit/form/FilteringSelect.html ),或者使用dijit的byId檢索它,然后訪問“商店”屬性。

然后,操縱該數據存儲。 如果要在以后刪除它,則可以在刪除該選項之前存儲一個臨時副本。 如果您查找數據存儲,我敢肯定刪除一個選項很簡單。 有時,使用窗口小部件時,您需要觸發一個重新渲染方法以使其更新(通常可以在窗口小部件的API中為此找到某些方法,有時稱為“重置”),盡管我相信在商店中它可能會監視它們更聰明。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM