2013-05-14 5 views
0

어떻게 jquery를 사용하여 동적으로 명명 된 select 값을 가져올 수 있습니까? jquery를 사용하여 동적으로 명명 된 선택 확인

<?php 
    for ($i = 0; $i < count($manifest); $i++) 
     echo '<select id="headerColumn_' . $i . '"> 
      <option value="">-- Column Header --</option> 
      <option value="1">Option 1</option> 
      <option value="2">Option 2</option> 
      <option value="3">Option 3</option> 
      <option value="4">Option 4</option> 
     </select>'; 
    ?> 

나중에 내가 함수에 온 클릭을 포함하는 버튼을 가지고

은이 같은 선택 채워 여러 (더 정확한 수) 없다. 이 함수가 호출 될 때 생성 된 선택 항목의 수를 전달합니다. 자, 나는 모든 선택의 가치를 얻을 필요가있다. 나는이 시도 :

for (var i = 0; i < valuePassedIntoFunction; i++) 
{ 
    var thisValue = $("#headerColumn_" + i).val(); 
    alert("#headerColumn_" + i + " = " + thisValue); 
} 

을하지만이있는 페이지, 난 그냥 팝업을 실행하면

#headerColumn_1 = undefined 

는 어떻게 동적 명명 규칙을 적용 jQuery를받을 수 있나요?

답변

1

headerColumn_로 시작하는 ID와 함께 모든 요소를 ​​반복 할 $.map 함수를 사용하고, 배열로 각 요소 값을 반환 :

var arr = $.map($('[id^="headerColumn_"]'), function(el, i) {return el.value; }); 

또는 경고 모든 ID의와 값 :

$('[id^="headerColumn_"]').each(function(i, el) { 
    alert(el.id + ' = ' + el.value); 
}); 
+0

for 루프 내부에서이 두 가지 중 하나를 실행해야합니까? 그렇지 않다면 "i"변수의 출처는 어디입니까? for 루프 내부에서 시도했는데 아무 일도 없었습니다. 즉, 정보를 표시하는 경고가 없습니다. – Brds

+0

아니요, 루프 안쪽에, 그냥 문서 준비가해야합니까? – adeneo

+0

그러면 함수에서 i 변수는 무엇입니까 (el, i)? 또한 for 루프 밖에서 시도하면 같은 결과가 발생합니다 ... – Brds

관련 문제