如何检查是否单击了动态命名的复选框?

时间:2014-05-15 06:02:15

标签: jquery

   $("#tblEntAttributes tbody").append('<tr>'
                +   '<td><input type="checkbox" class="main" value="'+data.id+'" id=check'+data.id+'></td>'
                +   '<td>'+ data.brand +'</td>'
                +   '<td>'+ data.channel +'</td>'
                +   '<td>'+ data.content +'</td>'
                +   '<td>'+ data.destination_url +'</td>'
                +   '<td>'+ data.sentiment + '</td>'
                +   '<td>'+ data.post_date + '</td>'
                +   '<td><p class="click_star" ><i id='+data.id+' class="'+star_class_var+'"></i></p></td>'
                +   '<td><p class="click_flag" ><i  id='+data.id+' class="'+flag_class_var+'"></i></p></td>'
                +   '<td>'+ data.widget_flags +'</td>'


    + '</tr>'
        );

以上代码段来自我的jquery,我需要检查表中的复选框是否已选中。它的id和值是动态命名的。如何检查是否单击了该复选框?我是jquery的新手。所以请帮忙

3 个答案:

答案 0 :(得分:2)

您可以使用:

$('#tblEntAttributes tbody').on('click','input[type="checkbox"]',function() {
    // Your code here
});

答案 1 :(得分:0)

试试这个,这将委托动态创建的复选框的on change事件

<script>
$(function(){
    $(document).delegate("input[type='checkbox']","change",function(){
             alert($(this).attr('id'));
    });
});
<script>

答案 2 :(得分:0)

如果要在检查函数时调用函数,则在创建复选框后立即绑定该函数(在数据更改或超出范围之前):

$("#tblEntAttributes tbody").append('<tr>'
            +   '<td><input type="checkbox" class="main" value="'+data.id+'" id="check'+data.id+'"></td>'
            +   '<td>'+ data.brand +'</td>'
            +   '<td>'+ data.channel +'</td>'
            +   '<td>'+ data.content +'</td>'
            +   '<td>'+ data.destination_url +'</td>'
            +   '<td>'+ data.sentiment + '</td>'
            +   '<td>'+ data.post_date + '</td>'
            +   '<td><p class="click_star" ><i id='+data.id+' class="'+star_class_var+'"></i></p></td>'
            +   '<td><p class="click_flag" ><i  id='+data.id+' class="'+flag_class_var+'"></i></p></td>'
            +   '<td>'+ data.widget_flags +'</td>'
            +   '</tr>');
$('#check'+data.id).change(function(){console.log($(this).attr('checked'))});