2010-12-27 4 views
0

내가 가지고있는 선택 상자를 선택한 후 선택이 선택 :JQuery와는 : N 작성

<select name="main"> 
<option value="2">2s</option> 
<option value="3">3s</option> 
<option value="5">5s</option> 
</select> 

은 어떻게 선택 2 초 후,이 선택은 생성 될 것이라고, 어떻게해야합니까 :

<select name="select1"> 
<option value="0">0</option> 
<option value="1">1</option> 
<option value="2">2</option> 
</select> 
<select name="select2"> 
<option value="0">0</option> 
<option value="1">1</option> 
<option value="2">2</option> 
</select> 

3을 선택하면 3 개의 선택이 생성됩니다. 감사합니다

은 ... 당신의 첫번째 선택 일 등의 변경 기능에서 그

UPDATE 같은

function selChanged(){ 
    var number=$('option:selected',$(this)).val(); 

    for (var i=0; i<number; i++){ 
     var newSel = $('<select name="newSelect'+i+'">'); 
     for (var iOpt=0; iOpt<3; iOpt++){ 
      var opt = $('<option value="*">*</option>'.replace('*',iOpt)); 
      newSel.add(opt); 
     } 
     $(this).insertAfter(newSel); 
    } 
} 

완전히 테스트되지 않은 있지만, 뭔가를 jsfiddle 예를

답변

2

감사하겠습니다

$('select[name=main]').change(function(){selChanged(this);}); 

function selChanged(con){ 
    var number=$('option:selected',$(con)).val(); 

    //remove existing 
    $("[name^='newSelect']").remove(); 

    for (var i=0; i<number; i++){ 
     var newSel = $('<select name="newSelect'+i+'">'); 
     for (var iOpt=0; iOpt<3; iOpt++){ 
      var opt = $('<option value="*">*</option>'.replace(/\*/g,iOpt)); 
      newSel[0].options.add(opt[0]); 
     } 
     newSel.insertAfter($(con)); 
    } 
} 
+0

'.replace' 메소드로 좋은 아이디어를 얻었습니다! .. 훨씬 더 명확하게 .. – ncuesta

+0

jsfiddle 예제를 제공하십시오. 왜냐하면 나는 그것을 얻을 수 없기 때문입니다. – Tom

+0

Ok. 완전히 다른 첫 번째 게시물하지만 http://jsfiddle.net/f9GQr/ –

1
$("select[name=main]").change(function() { 
    var elemCount = $(this).val(); 
    for(var i=0; i<elemCount; i++) { 
     var HTML = "<select name='select+i' />"; 
     $(HTML).append("<option value='0'>0s</option>"); 
     $(HTML).append("<option value='1'>1s</option>"); 
     $(HTML).append("<option value='2'>2s</option>"); 
     $("div.container").append(HTML); 
    } 
}); 

<div class="container"></div> 
+0

Jsfiddle 예제 감사하겠습니다. – Tom