Jquery 如何通过选中一个复选框来选中所有复选框?
当选中“selectall”复选框时,我尝试选中所有复选框 我尝试了一些代码让它工作,但仍然不为我工作 当我点击主复选框时,什么都没有发生 以下是我到目前为止所做的Jquery 如何通过选中一个复选框来选中所有复选框?,jquery,Jquery,当选中“selectall”复选框时,我尝试选中所有复选框 我尝试了一些代码让它工作,但仍然不为我工作 当我点击主复选框时,什么都没有发生 以下是我到目前为止所做的 <script> $(document).ready(function() { if( $('#selectall').is(':checked') ){ $.each($('input[name=activitie]'){ $('input[type=check
<script>
$(document).ready(function() {
if( $('#selectall').is(':checked') ){
$.each($('input[name=activitie]'){
$('input[type=checkbox]').prop('checked', true)
}
}
});
</script>
$(文档).ready(函数(){
如果($('#selectall')。是(':checked')){
$。每个($('input[name=activitie]')){
$('input[type=checkbox]')。prop('checked',true)
}
}
});
无耻的自我推销:。在你的情况下,我认为这会奏效:
$(function () {
$('#selectall').checkAll('input[type="checkbox"]');
});
但是,在没有看到一些标记的情况下,我无法确定……当id为“selectall”的复选框的状态发生更改时,您需要检测一些东西,然后确定是否正在检查它。我已更新了您的代码并修复了一些其他错误:
$(document).ready(function () {
$("#selectall").click(function () {
if ($("#selectall").is(":checked")) {
$.each($('input[name=activitie]'), function () {
$('input[type=checkbox]').prop('checked', true);
});
}
});
});
此外,如果您希望在取消选中“selectall”时将它们全部取消选中,您可以使用相同的$添加一个else子句。每个
都只需使用.prop
将复选框设置为未选中或false。使用某种插件可能有一种更简单的方法来实现这一点,但我怀疑这会有所帮助
我已经准备了一个可以帮助演示的程序。如上所述,
if($('selectall').is(':checked'))
测试元素的初始状态。当用户更改元素的状态时,您需要附加一个change
处理程序来应用测试(和相关代码)。@beetrootbeetroot正确,您可以使用。@click()“然后测试状态,我在回答中就是这么做的。
$(document).ready(function() {
$("#selectall").on("change", function(e) {
e.preventDefault();
$("input[type=checkbox][name=activitie]").prop("checked", $(this).prop("checked"));
});
});