2010-12-27 14 views
0

でそれを選択した後、私はこれが選択持って選択します。はJQuery:作成nは選択ボックス

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

にはどうすれば2Sを選択した後、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

関連する問題