jQuery - 切换选择所有复选框

标签 jquery checkbox

与一堆示例进行了斗争,并且对 jQuery/Javascript 仍然陌生,无法让我的代码运行(这里是我在 gsp 中的模板):

<table>
    <thead>
    <tr>
       <th><input type="checkbox" name="selectAll" onclick="selectAll(this.checked);"/></th>
    </tr>
    </thead>
    <tbody>
         <td>
            <td><input type="checkbox" name="domainList" value="${domainInstance.id}"/></td>
    </tbody>
<table>

我的主 gsp 中有以下 javascript 片段,它调用模板:

function selectAll(status) {

}

如何从 selectAll 名称中选择所有复选框?

最佳答案

由于您使用的是 jQuery,因此您应该为 selectAll 使用 onclick 处理程序,如下所示。

$(':checkbox[name=selectAll]').click (function () {
  $(':checkbox[name=domainList]').prop('checked', this.checked);
});

请注意,上面的代码将使用 name=selectAll 在整个 dom 中查找复选框,并使用 name=domainList 设置复选框的状态。

下面是一个稍好一点的版本,但有细微的标记更改,

jsFiddle DEMO

$('#selectAllDomainList').click(function() {
  var checkedStatus = this.checked;
  $('#domainTable tbody tr').find('td:first :checkbox').each(function() {
    $(this).prop('checked', checkedStatus);
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<table id="domainTable">
  <!-- Added ID -->
  <thead>
    <tr>
      <th>
        <!-- Added ID to below select box -->
        <input type="checkbox" name="selectAll" id="selectAllDomainList" />
      </th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <input type="checkbox" name="domainList" value="${domainInstance.id}" />
      </td>
    </tr>
    <tr>
      <td>
        <input type="checkbox" name="domainList" value="${domainInstance.id}" />
      </td>
    </tr>
    <tr>
      <td>
        <input type="checkbox" name="domainList" value="${domainInstance.id}" />
      </td>
    </tr>
    <tr>
      <td>
        <input type="checkbox" name="domainList" value="${domainInstance.id}" />
      </td>
    </tr>
  </tbody>
  <table>

关于jQuery - 切换选择所有复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9669005/

相关文章:

javascript - 避免 jquery select 的类型错误

javascript - CSS:在 for 循环中使用 nth-child

jQuery - 如何使用 Each() 方法循环并更改页面加载上的所有复选框

javascript - 全部勾选触发点击或改变参数

javascript - ajax 加载的单个复选框在 javascript 验证中显示未定义

javascript - jCrop 在某些浏览器上无法首次初始化裁剪

javascript - 在 CSS 中使用一个 before 伪选择器来在一行中显示有关多个元素的信息

javascript - 复选框 jQuery 显示隐藏的 div

JavaScript/JQuery - 如何在使用后暂时禁用功能?

c# - 在 DataGridView 中触发复选框值更改事件