Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQuery脚本未正确选中复选框_Javascript_Jquery_Html - Fatal编程技术网

Javascript JQuery脚本未正确选中复选框

Javascript JQuery脚本未正确选中复选框,javascript,jquery,html,Javascript,Jquery,Html,我有两个函数,分别选中和取消选中特定类的所有复选框。第一次运行函数时,它们会按预期运行,但在我再次尝试运行函数后,复选框不会选中,但html代码会更改 JQuery function checkall() { $('.column').attr('checked','checked'); $('#ALL').attr('onclick', 'uncheckall()') document.getElementById('ALL').value = "UnCheck All";

我有两个函数,分别选中和取消选中特定类的所有复选框。第一次运行函数时,它们会按预期运行,但在我再次尝试运行函数后,复选框不会选中,但html代码会更改

JQuery

function checkall() {
   $('.column').attr('checked','checked');
   $('#ALL').attr('onclick', 'uncheckall()')
   document.getElementById('ALL').value = "UnCheck All";
}
运行此命令后,我得到

运行此命令后,我得到

为什么复选框只更改一次?

请尝试prop()而不是attr()。如果问题仍然存在,请尝试prop()而不是attr()。如果问题仍然存在,请尝试prop()而不是attr()。attr('onclick','checkall()')不是添加事件侦听器的正确方法,如果您使用的是jQuery,那么就使用它,不要执行
document.getElementById('ALL')。value=“取消选中全部”
.attr('checked','checked')
应该是
.prop('checked',true)
$('#ALL')。attr('onclick','checkall()')
不是添加事件侦听器的正确方法,如果您正在使用jQuery,那么就使用它,而不要执行
document.getElementById('ALL')。value=“UnCheck ALL”
.attr('checked','checked')
应该是
.prop('checked',true)
function uncheckall() {
   $('.column').removeAttr('checked');
   $('#ALL').attr('onclick', 'checkall()')
   document.getElementById('ALL').value = "Check All";
}