6

我想检查是否选中了 tr 中的第一个复选框,而不是选中了此 tr 中找到的所有复选框。

暂时我有这个代码:

var b = false;
$j('#tb1 td input:checkbox').each(function(){ 
      if($j(this).is(':checked')){
    b = true;
      }
});

此检查是否至少有一个复选框检查,但如果我将其添加到我的选择器:

$j('#tb1 td input:first:checkbox').each(function(){ 
      if($j(this).is(':checked')){
    b = true;
      }
});

它只检查第一行而不是所有行,只检查第一个复选框。我怎样才能通过使用“第一个”选择器来实现这一点?提前致谢

4

4 回答 4

13

尝试

var b = false;
$j('#tb1 tr').find('input:checkbox:first').each(function(){ 
    if(this.checked){
        b = true;
    }
});
于 2013-09-19T06:39:39.377 回答
1

你的jquery代码是错误的,你使用的是正确的selector但在错误的地方..试试这个

$j('#tb1 td input:checkbox:first').

更多信息:First这里

于 2013-09-19T06:45:34.747 回答
0

您做得正确,但选择器的放置是错误的。

改变

$j('#tb1 td input:first:checkbox').

$j('#tb1 td input:checkbox:first').
于 2013-09-19T06:41:39.857 回答
0

请尝试一下

 var b = false;
  $j('#tb1 tr input:checkbox:first').each(function(){
    if(this.checked){
      b = true;
    }
  });
于 2013-09-19T06:42:05.447 回答