【问题标题】:Check if dynamically created checkbox is checked or not?检查是否选中了动态创建的复选框?
【发布时间】:2017-12-07 04:23:03
【问题描述】:

我有一个 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");
       }
}

【问题讨论】:

  • 你不能$(<checkbox>).is(':checked')吗?

标签: jquery checkbox html-table


【解决方案1】:

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");
  }
}

【讨论】:

    【解决方案2】:

    这样做:

    $('.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>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-23
      • 1970-01-01
      • 2013-10-28
      • 2012-02-09
      • 1970-01-01
      • 2013-03-09
      相关资源
      最近更新 更多