jQuery checkbox选中问题之prop与attr注意点分析
Posted 山涧清泉
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQuery checkbox选中问题之prop与attr注意点分析相关的知识,希望对你有一定的参考价值。
$(
function
() {
// 全选
$(
"#btnCheckAll"
).bind(
"click"
,
function
() {
$(
"[name = chkItem]:checkbox"
).attr(
"checked"
,
true
);
});
// 全不选
$(
"#btnCheckNone"
).bind(
"click"
,
function
() {
$(
"[name = chkItem]:checkbox"
).attr(
"checked"
,
false
);
});
// 反选
$(
"#btnCheckReverse"
).bind(
"click"
,
function
() {
$(
"[name = chkItem]:checkbox"
).each(
function
() {
$(
this
).attr(
"checked"
, !$(
this
).attr(
"checked"
));
});
});
// 全不选
$(
"#btnSubmit"
).bind(
"click"
,
function
() {
var
result =
new
Array();
$(
"[name = chkItem]:checkbox"
).each(
function
() {
if
($(
this
).is(
":checked"
)) {
result.push($(
this
).attr(
"value"
));
}
});
alert(result.join(
","
));
});
});
问题描述:第一次点全选可以,然后点击全不选,接着再点击全选、全不选、反选就没了反应,后来用其他浏览器发下可以,所以感觉是兼容性的问题,后来查阅资料发现果然是的,参考地址http://jquery.com/
解决方法:将attr换为prop即可,经过验证各个浏览器都是好的,官网说明是在1.6之后建议用prop,在此记录以备后用。
以上是关于jQuery checkbox选中问题之prop与attr注意点分析的主要内容,如果未能解决你的问题,请参考以下文章
jquery,attr,prop,checkbox标签已有checked=checked但是不显示勾选
jquery判断checkbox是否选中及改变checkbox状态