<form>
<input type="checkbox" name="newsletter" value="Hourly" checked="checked"> <input type="checkbox" name="newsletter" value="Daily">
<input type="checkbox" name="newsletter" value="Weekly" checked>
<input type="checkbox" name="newsletter" value="Monthly">
<input type="checkbox" name="newsletter" value="Yearly">
<br><button id="selectall">Select All</button>
</form>
<script>
var selectall = function() {
$("input[type=checkbox]").attr("checked", "true");
};
$("#selectall").on("click", selectall);
</script>
我编写了一个JQuery脚本,当我点击“全选”按钮时,它将选中所有复选框。现在,选择后,我将手动取消选中所有复选框,然后按“全选”。但这一次它无法选中所有复选框。如何防止这种情况?
答案 0 :(得分:3)
答案 1 :(得分:0)
使用prop()
代替attr()
var selectall = function() {
$("input[type=checkbox]").prop("checked","true");
};
$("#selectall").on("click", selectall );
答案 2 :(得分:0)
尝试这个
$("#selectall").on("click", function(){
$("input[type=checkbox]").prop("checked","true");
});
答案 3 :(得分:0)
您应该使用.prop()而不是.attr()。试试这个:
var selectall = function() {
$("input[type=checkbox]").prop("checked","true");
};
$("#selectall").on("click", selectall );
prop()vs attr()ref:.prop() vs .attr()
答案 4 :(得分:0)
请确保您的代码应该在dom ready函数里面。并使用.prop()
检查所有复选框
$(function() {
var selectall = function() {
$("input[type=checkbox]").prop("checked",true);
};
$("#selectall").on("click", selectall );
});