无法检查JavaScript中的所有复选框

时间:2015-12-03 10:04:07

标签: jquery checkbox

我在网络应用程序上工作,在运行时,我的代码甚至不起作用。但是如果做的话

$("input[name^='show-points-']").attr("checked", false);
在控制台上

,复选框取消选中。

很奇怪因为,总是在控制台中:

$("input[name^='show-points-']").attr("checked", "checked");

不能工作。

在此Jsfiddle中,代码适用于"取消选中"功能,但不是" check-all"之一。

1 个答案:

答案 0 :(得分:7)

使用prop()

Updated Fiddle

$("#show-all-points").change(function () {
    $("input[name^='show-points-']")
        .prop("checked", this.checked);
});

$("#show-all-points").change(function() {
  $("input[name^='show-points-']")
    .prop("checked", this.checked);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<tbody>
  <tr>
    <td>
      <input type="checkbox" checked="checked" name="show-points-pb">
    </td>
  </tr>
  <tr>
    <td>
      <input type="checkbox" checked="checked" name="show-points-pi1">
    </td>
  </tr>
  <tr>
    <td>
      <input type="checkbox" checked="checked" name="show-points-pi2">
    </td>
  </tr>
  <tr>
    <td>
      <input type="checkbox" checked="checked" name="show-points-gp">
    </td>
  </tr>
  <tr>
    <td>
      <input type="checkbox" checked="checked" name="show-points-ok">
    </td>
  </tr>
  <tr>
    <td>
      <input type="checkbox" checked="checked" name="show-points-op">
    </td>
  </tr>
  <tr>
    <td>
      <input type="checkbox" checked="checked" name="show-points-er">
    </td>
  </tr>
  <tr>
    <td></td>
    <td>Tout sélectionner/désélectionner
      <input type="checkbox" checked="checked" id="show-all-points">
    </td>
  </tr>
</tbody>