2012-03-12 46 views
1

複数選択ボックスに問題があります。私はjQueryを使用して複数の値を選択しようとしましたが、最後のものだけが選択されています。ここに私のコードは次のとおりです。HTML複数選択ボックス、jQueryを使用して複数のアイテムを選択

<script> 
$(function(){ 
<?php 
foreach ($selectdefaults as $s): 
    ?> 
    $('#q<?php echo $s['campsetjoin']['campid'];?> select').val('<?php echo $s['campsetjoin']['setid'];?>'); 
    <?php 
endforeach; 
?> 
}); 
</script> 

ここに私のHTMLソースが(これはPHPで生成される)である。

<table> 
<tr> 
    <td> 
     <form id="s1" name="camps"> 
      <input type="hidden" name="camid" value="1" /> 
      <strong> Camp 1 </strong> 
     </form> 
    </td> 
    <td align="right" id="q1"> 
     <select name="qsets" multiple="multiple"> 
      <option value="1">common set</option> 
      <option value="2">test set</option> 
     </select> 
    </td> 
    <td> 
     <input type="button" value="update" cid="1" class="btncdsave" /> 
    </td> 
</tr> 
<tr> 
    <td> 
     <form id="s9" name="camps"> 
      <input type="hidden" name="camid" value="9" /> 
      <strong> Camp 2 </strong> 
     </form> 
    </td> 
    <td align="right" id="q9"> 
     <select name="qsets" multiple="multiple"> 
      <option value="1">common set</option> 
      <option value="2">test set</option> 
     </select> 
    </td> 
    <td> 
     <input type="button" value="update" cid="9" class="btncdsave" /> 
    </td> 
</tr> 
<tr> 
    <td> 
     <form id="s10" name="camps"> 
      <input type="hidden" name="camid" value="10" /> 
      <strong> Camp 3 </strong> 
     </form> 
    </td> 
    <td align="right" id="q10"> 
     <select name="qsets" multiple="multiple"> 
      <option value="1">common set</option> 
      <option value="2">test set</option> 
     </select> 
    </td> 
    <td> 
     <input type="button" value="update" cid="10" class="btncdsave" /> 
    </td> 
</tr> 
</table> 

だから私は、選択ボックスの複数の値を選択する必要があります。フォームIDと選択ボックスの値を取得して選択することができます。ご協力いただきありがとうございます。

答えて

1

あなたが複数の値を選択したい場合は、それらの値を持つ配列を渡す

$('#q10 select').val(['1', '2']); 

フィドルここhttp://jsfiddle.net/p8R4k/

+0

これは正しいですが、私のループは $( '#Q9を選択')。valのを(返します'2'); $( '#q10 select')。val( '2'); $( '#q10 select')。val( '1'); これについて何か提案がありますか? –

+0

@SunethあなたはこのJavaScriptコードを出力するようにループのロジックを変更する必要があります。私はマルチセレクションで複数の要素を選択する方法を指摘しました。 :) –

+0

あなたは論理を提案することができます... –