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>

在此更改方法中获取选定的复选框值有什么帮助吗?

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 函数时,this 指的是窗口对象,而不是当前元素。还有一件事:

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

我也看不到价值在哪里。例如:

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