检查是否选中了动态创建的复选框?

时间:2017-12-06 13:00:38

标签: jquery checkbox html-table

我有一个包含16行的表,每行包含复选框。我需要检查是否选中了复选框。如果检查然后做一些其他做其他事情。我正在尝试,但逻辑不起作用:

BtnGet是每行中的一个按钮。我正在BtnGet点击事件:

$('.btnGet').each(function (i, obj) {
   if ($(obj)
      .closest("tr")
      .children("td:nth-child(3)")
      .find("input[type = checkbox]")
      .checked) 
      {
          console.log("Working");
       }
}

2 个答案:

答案 0 :(得分:0)

checked是复选框DOM元素的属性,而不是jQuery对象。您可以改为使用is(':checked')

$('.btnGet').each(function(i, obj) {
  if ($(obj).closest("tr").find("td:nth-child(3) :checkbox").is(':checked')) {
    console.log("Working");
  }
}

答案 1 :(得分:0)

这样做:

$('.btnGet tr').each(function (i, obj) {
  if($(this).children().eq(2).find("input[type = checkbox]").is(":checked")){
    console.log('checked');
  }else{
     console.log('not checked');
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table class="btnGet" style="width:500px;height:500px;border:1px solid;">
<tr><td>1</td><td>2</td><td><input type="checkbox" checked></td></tr>
<tr><td>1</td><td>2</td><td><input type="checkbox" ></td></tr>
<tr><td>1</td><td>2</td><td><input type="checkbox" checked></td></tr>
<tr><td>1</td><td>2</td><td><input type="checkbox" checked></td></tr>
<tr><td>1</td><td>2</td><td><input type="checkbox" ></td></tr>
<tr><td>1</td><td>2</td><td><input type="checkbox" ></td></tr>
<tr><td>1</td><td>2</td><td><input type="checkbox" checked></td></tr>
<tr><td>1</td><td>2</td><td><input type="checkbox" checked></td></tr>
</table>