簡體   English   中英

如何獲得FilteringSelect的“價值” <select>在道場?

[英]How to get the “value” of a FilteringSelect <select> in dojo?

我正在使用dijit.form.FilteringSelect來提供一種從<select>中選擇值的方法。 問題是,當使用dojo時,返回標簽而不是s的值。

例如:
<select name="test" dojoType="dijit.form.FilteringSelect">
<option value="1">One</option>
<option value="2">Two</option>
</select>

如果選擇了該選項,Dojo將返回文字“one”,而不是該選項的值“1”。 “2”和“2”也是如此。

如果從此元素中刪除了dojo,則會按預期返回該值。

執行此操作的dojo方法是使用dijit.byId('yourDijitId')。attr()。

獲得您想要的價值:

dijit.byId('yourDijitId').attr('value');

要獲取過濾中顯示的值,請選擇:

dijit.byId('yourDijitId').attr('displayedValue');

編輯 :attr()棄用1.5,1.5及以上,使用get()

獲取dijit.form.FilteringSelect的值

dijit.byId('yourId').get('value');

獲取dijit.form.FilteringSelect的displayedValue

dijit.byId('yourId').get('displayedValue');

陷入同樣的​​問題並想出了這個解決方案。

var optVal = dijit.byId("yourDijitId").item.value;

FilteringsSelect小部件將“顯示值”放在displayValuevalue屬性中。 我找到獲取選項值的唯一方法是遍歷列出所選選項屬性的item屬性。

我發現dojo創建了2個元素。 一個使用名稱,其中包含使用元素名稱的值,另一個名稱包含選項的標簽,該標簽使用元素的ID。 由於我使用的是document.getElementById(),因此返回了錯誤的值。 使用名稱中的值可提供正確的結果。

對於那些試圖在FilteringSelect中找到SELECTED OBJECT的Google員工:

dijit.byId("yourDijitId").item

如果您需要訪問對象的其他屬性,則引用所選項。

(使用dijit.byId("yourDijitId").item.value將標題改為Bitwize指向正確的方向dijit.byId("yourDijitId").item.value

暫無
暫無

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

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