0

以下のコードブロックは、チェックボックスを生成するために使用されます

 $("#country").change(
    function() {

$('.container').empty();            
var item = $(this);
CtDataHandler.getCList(item.val(),{callback:function(data) {
for(var i=0; i<data.length; i++)
{
$('#cContainer').append('<input type="checkbox" class="ckbox" id = "'+ data[i].name +'" value="'+ data[i].name + '" /> ' + data[i].name + '<br />');
}
}, errorHandler:function(){
},async:false
});
});

onchange メソッドでチェックされた値の値を取得する別のブロックがあります。選択した値で別の dwr を呼び出す必要があるためです。

 $('.ckbox').click(function(){
 var  selectedValue=$("input.ckbox:checked").map( function(n){
 return this.value;
 }).get();
 alert(selectedValue.join(','));
 $('#selectedValue').append(selectedValue.join(','));
 });

選択された値は空です!!!

JSP コード

<td width="1%"></td>
<td width="50%" valign="top" id="catTd">
<div class="container" id="cContainer">
</div></td>

この on change メソッドで、選択したチェックボックスの値を取得するのに役立ちますか?

4

2 に答える 2

1

これを試して

 //var selectedValue = new Array();
 $('#categoryContainer').on('click','.ckbox',function(){
   var  selectedValue=$("input.ckbox:checked").map(function(n){
          return this.value;
      }).get();
      alert(selectedValue.join(','));
      $('#selectedValue').append(selectedValue.join(','));

});

これにより、selectedvalue のコンマ区切りが#selectedValue要素に追加されます

ノート:

チェックボックスの値属性を逃した

 $('#categoryContainer').append('<input type="checkbox" class="ckbox" id = "'+ data[i].name +'" value="'+ data[i].name + '" /> ' + data[i].name + '<br />');
于 2013-04-11T06:34:51.683 に答える
0

「selectedValue」に値を割り当てる場所がわかりません

そのはず:

$('#cContainer').on("click",".ckbox",function(){
    var selectedValue= new Array();
    $("input.ckbox:checked").each(function (){
         selectedValue.push($(this).val());
    });
    alert(selectedValue.join(','));
    $('#selectedValue').append(selectedValue.join(','));
 });

$.map 関数を使用する場合、これは現在の要素ではなくウィンドウ オブジェクトを参照します。もう1つ:

<input type="checkbox" class="ckbox"/> 

また、値がどこにあるのかわかりません。例えば:

 <input type="checkbox" class="ckbox" value="abc"/> 
于 2013-04-11T06:33:09.253 に答える