2013-01-23 69 views
3

在一個HTML頁面我有幾個列表。獲取所有選擇/選項列表開始的東西

<select name="salut-1358937506000-OK"> 
<option selected="" value="OK">OK</option> 
<option value="OK">NOK</option> 
</select> 

<select name="salut-1358937582000-OK"> 
<option selected="" value="OK">OK</option> 
<option value="OK">NOK</option> 
</select> 
... 

在JavaScript中,我想要得到所有由「salut-」開頭的選擇/選項列表。 對於這些列表,我想比較他的名字和他的選定值。

我知道這是可能的jQuery,但不能使用jQuery,只有JavaScript(JSNI與GWT完全相同)。

你有什麼想法嗎?

謝謝!

回答

5
var selects = document.getElementsByTagName('select'); 
var sel; 
var relevantSelects = []; 
for(var z=0; z<selects.length; z++){ 
    sel = selects[z]; 
    if(sel.name.indexOf('salut-') === 0){ 
     relevantSelects.push(sel); 
    } 
} 
console.log(relevantSelects); 
+0

謝謝你,我將在JSN中添加你的代碼(例如文檔$ doc)。 – superscral

1

可以使用getElementsByTagName函數來獲取每個SELECT名稱,例如:

var e = document.getElementsByTagName("select"); 
for (var i = 0; i < e.length; i++){ 
    var name = e[i].getAttribute("name"); 
} 

然後你可以用下面的代碼來獲取每個OPTIONSELECT,做任何必要的比較:

var options = e[i].getElementsByTagName("option") 
相關問題