如何查找下一个TD>复选框并选中天气



我试图找出如何确定何时有人点击.exempt复选框来检查下一个td .spammy复选框是否被选中。我的代码不工作。

JQUERY

$(document).on('click','.exempt',function() {
    if ($(this).closest('td').next().is('checkbox:checked'), function() {
        alert("test");
    });
});

<td style="text-align: center; width: 20px; " class=""><input type="checkbox" class="exempt" name="exempt" id="3887"></td>
<td style="text-align: center; width: 20px; " class=""><input type="checkbox" class="spammy" name="spammy" id="3887"></td>

td之后的下一个元素不能是checkbox:checked,因为根据定义它是td元素。您的if语句的语法也是关闭的。

你的意思可能是:

if ($(this).closest('td').next().find('input[type=checkbox]:checked').length) {
    // Do something
}

if ($(this).closest('td').next().find('input[type=checkbox]').is(":checked")) {
    // Do something
}

生活例子:

$(document).on('click', '.exempt', function() {
  if ($(this).closest('td').next().find("input[type=checkbox]:checked").length) {
    alert("yes, it's checked");
  } else {
    alert("no, it isn't");
  }
});
<table>
  <tbody>
    <tr>
      <td style="text-align: center; width: 20px; " class="">
        <input type="checkbox" class="exempt" name="exempt">
      </td>
      <td style="text-align: center; width: 20px; " class="">
        <input type="checkbox" class="spammy" name="spammy">
      </td>
    </tr>
    <tr>
      <td style="text-align: center; width: 20px; " class="">
        <input type="checkbox" class="exempt" name="exempt">
      </td>
      <td style="text-align: center; width: 20px; " class="">
        <input type="checkbox" class="spammy" name="spammy" checked>
      </td>
    </tr>
  </tbody>
</table>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>


separate:有两个具有相同id值的元素。这是无效的HTML, id必须在文档中是唯一的

最新更新