0

我有一个由 getJSON ajax 调用生成的表,我想循环并收集检查的值并将它们放入数据库中。

该表如下所示:

<div class="content">
<table>
<tr> <td> etc. </td> </tr>
</table>
</div>

内容 div 存在,但表格、行和单元格是由 ajax 脚本创建的,因此:

$.each( data, function( key, value ) {
        var txt =  '<tr>';
            txt += '<td style=\"background:#E3F6CE;\"><input type=\"checkbox\" class=\"case\" value=\"' + this["id"] + '\">';
            txt += '<td><a href=\"/edit/' + this["id"] + '\">'+ this["first"] + ' ' + this["last"]  + '</a></td>';
            txt += '<td>' + this["designation"] + '</td>';
        txt += '<td>' + this["company"] + '</td>';
            txt += '<td>' + this["email"] + '</td>';
            txt += '<td>' + this["remarks"] + '</td>';
        txt += '</tr>';
            $('.content').append(txt);
        });

到目前为止一切顺利,没有问题。该表呈现良好。

现在,以下内容:

$(document).ready(function() {
 $(".content").on( "input:checked" ).each(function() {
     //var id = $(this).val();
        var id = $( "input:checked" ).val();
              alert(id);
  });
});

只获取一个 id,因此如果选中多个复选框,它只会获取一个,而不是全部。

怎么了?

提前致谢。

4

1 回答 1

1

您需要为这样的尝试创建一个数组。

$(document).ready(function() {

    $(".add").on("click",function(){
        var chk_vals = [];
        $("input:checked").each(function() {
             var id = $(this).val();
             console.log(id); // use this to check each checkbox value in console
             chk_vals.push(id);  
        });
    console.log(chk_vals); // use this to check the result in console.
    });

});
于 2013-10-12T08:56:02.003 回答