2014-03-19 74 views
1

我有一個單獨的類.selectjQuery的獲取從陣列中的多個元素的class屬性值,而環

<select class='select' name='select1' id='select1'> 
    <option value='1'>1</option> 
    <option value='2'>2</option> 
    <option value='3'>3</option> 
</select> 

<select class='select' name='select2' id='select2'> 
    <option value='4'>4</option> 
    <option value='5'>5</option> 
    <option value='6'>6</option> 
</select> 

<select class='select' name='select3' id='select3'> 
    <option value='7'>7</option> 
    <option value='8'>8</option> 
    <option value='9'>9</option> 
</select> 

我知道它可以帶環的幫助下這樣

實現多個選擇下拉元素
var arr = []; 
$('.select').each(function() { 
    arr.push($(this).val()); 
}); 

但我已經有代碼,以便循環很多,我不知道是否有什麼辦法可以是可以實現沒有環

小提琴:http://jsfiddle.net/89cJC/

+0

任何實現將有循環這:)你不能避免 –

回答

6

不,沒有其他方法可以從多個元素中獲取值,您必須迭代元素以獲取每個元素的值。

還有其他的方法來編寫基本相同的代碼

var arr = $.map($('.select'), function (el) { return el.value; }); 

或不jQuery的

var elems = document.querySelectorAll('.select'), 
    arr = []; 

for (var i=elems.length; i--;) arr.push(elems[i].value); 

但它們都迭代,有沒有其他辦法可以做到這一點。

相關問題