设计了一个checkbox全选,但是只能好用一次,不知道为什么,原先代码是这样的
就可以了
$("#checkboxall").click(function(){
if($("#checkboxall").prop('checked')){
$(':checkbox').each(
function() {
$(this).attr("checked", true);
}
)
}else{
$(':checkbox').each(
function() {
$(this).attr("checked", false);
}
)
}
})
网上查阅;
prop用于修改元素本身自带的值,就是ide能够自动提示出的属性,而arrt用于改变或设置自身定义的属性值,例如:
<button id="analysis_checked" class="btn btn-primary " style="position: absolute;top:-44px;left: 400px;" onclick="run(0)">解析选中</button>
其中id、class、style这些是本身自带的属性,而onclick是我自己设置的属性,这样的属性就用attr来操作,当想要给一个元素创建一个属性时,也使用attr()
修改后代码:
$("#checkboxall").click(function(){
if($("#checkboxall").prop('checked')){
$(':checkbox').each(
function() {
$(this).prop("checked", true);
}
)
}else{
$(':checkbox').each(
function() {
$(this).prop("checked", false);
}
)
}
})就可以了
本文介绍了一种解决Checkbox全选功能仅能使用一次的问题的方法。通过将原本的.attr()替换为.prop(),使得每次点击全选框都能正确更新所有子Checkbox的状态。
与attr()区别&spm=1001.2101.3001.5002&articleId=52043495&d=1&t=3&u=eea15e538e8143be8b96dc03aac8cd08)
1701

被折叠的 条评论
为什么被折叠?



