在TR中检查和取消选中复选框的最佳方法

时间:2012-01-22 15:27:41

标签: javascript jquery html-table

<table>
    <tr>
        <td><input type="checkbox"></td><td>aa</td><td>ss</td>
    </tr>
    <tr>
        <td><input type="checkbox"></td><td>aa</td><td>ss</td>
    </tr>
    <tr>
        <td><input type="checkbox"></td><td>aa</td><td>ss</td>
    </tr>
</table>

LIVE: http://jsfiddle.net/6U5WH/

如果我点击带有当前复选框的TR,如何检查和取消选中复选框的最佳方法?只能使用HTML(标签?)?如果不是,我想使用jQuery。

3 个答案:

答案 0 :(得分:6)

// when the row is clicked toggle the checked property
$('tr').click(function() {
     var $cb = $(this).find(':checkbox');
     $cb.prop('checked',!$cb.prop('checked'));
});
// prevent a click on the actual checkbox from bubbling to the row
$('tr :checkbox').click( function(e) {
     e.stopPropagation();
});

更新了小提琴:http://jsfiddle.net/6U5WH/1/

答案 1 :(得分:2)

你们这么快就是我的例子http://jsfiddle.net/staar2/6HtqB/3/

var selector = 'input[type=checkbox]';
$('tr').toggle(function() {
   $(this).find(selector).attr('checked', 'checked'); 
}, function() {
   $(this).find(selector).removeAttr('checked'); 
});

答案 2 :(得分:0)

你将需要我们jQuery。

试试这段代码:

$('.offer').click(function(){ 
       var $checkbox = $(this).find(':checkbox');
       $checkbox.prop('checked', !$checkbox[0].checked);
 });