【www.bbyears.com--jquery】
在修改Hi GPA的时候需要增加一个全选用户的功能,结果被坑惨了。
首先,最终代码是这么写的:
代码如下 var text = $("#select-all-student").html();if (text == "全选") {
$("input[name="studentNumber"]").prop("checked", true);
$("#select-all-student").html("取消全选")
} else {
$("input[name="studentNumber"]").prop("checked", false);
$("#select-all-student").html("全选");
}
这里集成了一个全选和反选的功能,可以选中所有name为studentNumber的checkbox。
当然,最初我不是这么写的,而是使用了attr()结果最终导致了只能进行一次的全选反选,当时简直感觉醉醉哒。
折腾了一个小时之后感觉这压根就不是个事,为啥别人写的东西就可以,无奈,查了一下:
jQuery API明确说明,1.6+的jQuery要用prop,尤其是checkBox的checked的属性的判断,即
代码如下
$("input[type="checkbox"]").prop("checked");
$("input[type="checkbox"]").prop("disabled", false);
$("input[type="checkbox"]").prop("checked", true);
应该使用.prop()来替代.attr()来设置disabled和checked。.val()用于获取或者设置其value值。