2011-05-03 4 views
1
var obj = $("form select"); 
alert(obj.find(":selected:eq(0)").val()); // works 
alert(obj.find(":selected:eq(1)").val()); // Does Not Work 

캐시 된 obj를 사용하여 나머지 선택 요소에서 선택한 옵션을 어떻게 찾을 수 있습니까? 이 같은캐시 된 jquery 객체의 개별 요소 가져 오기

alert(obj.filter(":eq(1)").val()); 
+0

나는 다음과 같이 캐시 된 개체의 개별 요소에 액세스

var n = 2; var nthSelected = $(":selected",obj[n]); //Seems to work 

도 .filter()을 수행 할 수 있습니다 '반드시 모든': 선택 사항 '옵션을 통해 반복하려고하지 않습니다. 캐시 된 객체의 (n> 0) 요소에 액세스하는 것에 대해 궁금합니다. 사실은 루프를 피하기를 원합니다. 왜냐하면 캐시 된 객체 (예 : $ ("form select : eq (1) : selected"))를 사용하지 않고 요소를 직접 선택하는 것이 가장 빠르기 때문입니다. 나는 여기서 묻고있다. – bodine

답변

0
var selectedValues = []; 

obj.each(function() { 
    var selected = $(':selected', this).val(); 
    selectedValues.push(selected); 
}); 

//now you have an array of all the selected values. :) 
0

뭔가 작업을해야합니다 :

var selects = $('form select'); 
var selected = $(':selected', selects); 
관련 문제