核心提示:情景再现使用以下代码进行checkbox全选,首次可以全选成功,但是一个个的取消掉之后,审查元素会发现checkbox的checked属性值仍然是checked,这个就导致再次使用如下方式进行全选时,...
情景再现
使用以下代码进行checkbox全选,首次可以全选成功,但是一个个的取消掉之后,审查元素会发现checkbox的checked属性值仍然是checked,这个就导致再次使用如下方式进行全选时,页面并没有更新为选中状态,正是因为你在手动取消的时候,checkbox的checked属性并没有变化
$("#choose_weeks input[type=checkbox]").attr("checked",true);
解决方案:
不使用attr来修改checked属性值,使用prop来修改,使用方法和上面一致;
方式1:
$("#choose_weeks input[type=checkbox]").each(function () { $(this).prop("checked",true); })
方式2:
$("#choose_weeks input[type=checkbox]").prop("checked",true);