2013-10-29 1 views
1

내 페이지에있는 모든 <select> 요소를 찾고 색인을 작성한 다음 각 색인을 모든 선택 항목의 값인 <option>에 추가하려고합니다. 여기에 각각의 선택이 : 결국jQuery를 사용하여 모든 항목을 찾아 선택 항목으로 색인 값을 추가하십시오.

<select class="select"></select> 
<select class="select"></select> 
<select class="select"></select> 
<select class="select"></select> 

var i = 0; 
    $(".select").each(function(){ 
    ++i; 
    }); 
    $(".select").each(function(){ 
    for (i > 0){ 
     $(this).append("<option val='" + i + "'>" + i + "</option>"); 
    } 
}); 

, 나는 각이있을 것이다 달성하기 위해 노력하고있어 목표처럼 보이는 선택은 : 나는 거의 것 같은

<select> 
    <option val="1">1</option> 
    <option val="2">2</option> 
    <option val="3">3</option> 
    <option val="4">4</option> 
    <option val="5">5</option> 
    <option val="6">6</option> 
    <option val="7">7</option> 
    <option val="8">8</option> 
    <option val="9">9</option> 
    <option val="10">10</option> 
</select> 

같습니다 ...

+0

당신의'i' 무엇을해야합니까? – kelunik

+1

알다시피, 'each'는 자체 인덱스 매개 변수를 가지고 있습니다. – tymeJV

+0

@BlueSkies 마지막 스 니펫에서 class = "select"를 잘못 입력했습니다. 그것은 요구 사항이 아니지만 귀하의 답변에 귀하의 의도가 있다는 것을 알고 있습니다. 각각의 선택은 내가 가진 마지막 예처럼 보일 것입니다. –

답변

1
var $selects = $("select"); 
var selCount = $selects.length; 

for(var i=1; i<=selCount; i++){ 
    $selects.append("<option value='" + i + "'>" + i + "</option>"); 
} 

http://jsfiddle.net/Wy643/

+0

이것은 내 코드에서 얻은 것입니다. 나는 단순히 i> 0을 사용하고 그걸로 끝낼 수 있다고 가정하는 것은 잘못된 것 같다. 나는 왜, 그러나 ok를 보지 않는다. 당신의 도움을 주셔서 감사합니다. –

1

전체 선택이 있기 때문에 모든 선택은 많은 옵션을 얻을해야하는 경우, t 암탉 yuo는이 작업을 수행 할 수 있습니다

var sel = $("select") 
sel.map(function(i, s) { 
    return $("<option>", {text: i, value: i})[0]; 
}).appendTo(sel); 

DEMO : 당신이 관심이 있다면


http://jsfiddle.net/vmUpN/

가 여기에 일반 JS 버전의합니다.

var sel = document.getElementsByTagName("select"); 
var opts = document.createDocumentFragment(); 

for (var i = 0; i < sel.length; i++) { 
    opts.appendChild(new Option(i, i)); 
} 
for (var i = 0; i < sel.length; i++) { 
    sel[i].appendChild(opts.cloneNode(true)); 
} 

DEMO :http://jsfiddle.net/vmUpN/1/

관련 문제