当前位置 : 主页 > 网页制作 > JQuery >

jquery – .is(‘:checked’)总是返回true

来源:互联网 收集:自由互联 发布时间:2021-06-15
HTML: table id="list" tr tdinput type="checkbox" checked="true"/td td.../td /tr tr tdinput type="checkbox" checked="true"/td ... /tr .../table JS: $('#list tr').each(function(){ console.log( $(this).find('input[type="checkbox"]').is(':c
HTML:

<table id="list">
   <tr>
      <td><input type="checkbox" checked="true"></td>
      <td>...</td>
   </tr>
   <tr>
      <td><input type="checkbox" checked="true"></td>
      ...
   </tr>
   ...
</table>

JS:

$('#list tr').each(function(){
   console.log(
        $(this).find('input[type="checkbox"]').is(':checked')
   );    
});

问题:上面的日志语句总是返回true.每个tr都包含一些数据,我想使用这些数据执行操作.但是用户可以取消选择某些实体,在这种情况下这是不可能的,因为is(‘:checked’)总是返回true,即使取消选中/取消选中该条目也是如此.

任何想法如何解决这一问题?

您的’checked’属性的值为true,因此即使选中< input type =“checkbox”/>也会返回true也将被检查.

我用你的代码创建了一个demo,还有其他功能来检索.is(“:checked”),因为它的属性发生了变化.

$("input").change(function() {
    console.log($(this).is(':checked'));
});

它显示了变化.你的问题必须在其他地方.

网友评论