【问题标题】:How to trigger check all checkboxes?如何触发检查所有复选框?
【发布时间】:2016-04-19 13:50:08
【问题描述】:

我正在尝试弄清楚如何触发链接按钮以在单击时触发并将所有复选框更改为选中状态。当我单击按钮时,它会显示警报消息,但不会触发复选框。我已经尝试了此站点中列出的一些答案,但它不起作用。我用jsfiddle 重现了这个问题。

HTML:

<h3><a href="javascript:void(0);" id="checkAll">Check</a> All</h3>
<hr/>
<input class="categories" type="checkbox" name="filter" value="Math" checked>Math<br/>
<input class="categories" type="checkbox" name="filter" value="Science" checked>Science<br/>
<input class="categories" type="checkbox" name="filter" value="Reading" checked>Reading

JS:

$('#checkAll').click(function()
{
  alert("checkAll was clicked!");
  console.log("Checkboxes has been refilled!");
  $(':checkbox.categories').prop('checked', $(this).checked); // re-check all checkboxes
  //$("input:checkbox").prop('checked', $(this).prop("checked"));
});

【问题讨论】:

    标签: javascript jquery checkbox onclick jquery-selectors


    【解决方案1】:

    问题是因为this 将引用a 元素,而包含该元素的jQuery 对象没有checked 属性。相反,只需将其设置为 true:

    $('#checkAll').click(function(e) {
      e.preventDefault();
      $(':checkbox.categories').prop('checked', true);
    });
    

    Updated fiddle

    【讨论】:

    • 非常感谢您的帮助! :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-29
    • 2017-05-26
    • 1970-01-01
    • 2013-02-02
    • 2016-02-07
    相关资源
    最近更新 更多