3

你可以在这里看到我的问题http://jsfiddle.net/eWh5F/76/ () 我想要的是点击 TD 并且复选框应该被选中/取消选中对于 TD 内的复选框可以正常工作但是当我有一张桌子里面有一个TD和TD里面那个,有什么解决办法吗?我在下面尝试过这样的东西,但没有运气

$("td").click(function(e) {
var checkbox = $(':checkbox', $(this).parent()).get(0);
var checked = checkbox.checked;
if (checked == false) checkbox.checked = true;
else checkbox.checked = false;});
4

2 回答 2

1

您可以使用prop方法:

$("td").click(function(e) {
    $('> input[type=checkbox]', this).prop('checked', function(i, checked){
       return !checked
    })
});

http://jsfiddle.net/jdy3d/

请注意,:checkbox选择器已弃用。

于 2012-11-07T23:28:42.693 回答
0

您可以使用e.stopPropagation();

$("td").click(function(e) {
    e.stopPropagation();
    var checkbox = $('input[type="checkbox"]', $(this).closest('td')).get(0);
    var checked = checkbox.checked;
    if (checked == false) checkbox.checked = true;
    else checkbox.checked = false;
});​

:checked推荐使用input[type="checkbox"]_

也使用$(this).closest('td') 代替$(this).parent()

JSFIDDLE 演示

于 2012-11-07T23:34:57.173 回答