[英]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小部件將“顯示值”放在displayValue
和value
屬性中。 我找到獲取選項值的唯一方法是遍歷列出所選選項屬性的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.