为什么我用jQuery写好checkbox的全选后,点击两次后,就不行了,要刷新页面后,点击才有响应,源码是这样

//全选$("#selectAll").click(function(){varflag;if(this.checked){flag=true;}else{flag=fa... //全选
$("#selectAll").click(function() {
var flag;
if (this.checked) {
flag = true;
} else {
flag = false;
}
alert(flag);
$("input[name='select']").each(function() {
$(this).attr("checked", flag);
});
});
展开
 我来答
百度网友c2bedd6
2017-11-20
知道答主
回答量:11
采纳率:100%
帮助的人:4.3万
展开全部
是jQuery版本问题。
我操作属性用的是
$(XXX).attr(attrName);而jQuery的版本用的是2.1.1,这就是存在一个兼容性和稳定性问题。
jQuery API明确说明,1.6+的jQuery要用prop,尤其是checkBox的checked的属性的判断,即
使用代码如下:
$(input[name='checkbox']).prop(checked);
$(input[name='checkbox']).prop(disabled, false);
$(input[name='checkbox']).prop(checked, true);
于是乎将attr改为prop,问题得解。
如果您遇到这个奇怪的问题那就赶紧试试吧!
明月清风618
2013-05-03 · TA获得超过737个赞
知道小有建树答主
回答量:395
采纳率:100%
帮助的人:128万
展开全部
//上面是jquery函数
$(document).ready(function () {
//全选
$("#CheckedAll").click(function(){
if(this.checked){ //如果当前点击的多选框被选中
$('input[type=checkbox][name=items]').attr("checked", true );
}else{
$('input[type=checkbox][name=items]').attr("checked", false );
}
});

//输出值
$("#send").click(function(){
var str="你选中的是:\r\n";
$('input[type=checkbox][name=items]:checked').each(function(){
str+=$(this).val()+"\r\n";
})
alert(str);
});
})
//下面是body中的html代码
<body>
<form method="post" action="">
你爱好的运动是?
<input type="checkbox" id="CheckedAll" value="全选/全不选"/>全选/全不选
<br/>
<input type="checkbox" name="items" value="足球"/>足球
<input type="checkbox" name="items" value="篮球"/>篮球
<input type="checkbox" name="items" value="羽毛球"/>羽毛球
<input type="checkbox" name="items" value="乒乓球"/>乒乓球
<br/>
<input type="button" id="send" value="提 交"/>
</form>
</body>
追问
能加你的q吗,还是不行
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
942129263
推荐于2017-11-21 · TA获得超过364个赞
知道小有建树答主
回答量:262
采纳率:0%
帮助的人:146万
展开全部
$("#selectAll").click(function(){
if($(this).attr("checked")){
$("input:checkbox").attr("checked","checked");
}else{
$("input:checkbox").removeAttr("checked");
}
});
追问
还是选择不了
追答
$("#selectAll").click(function() {
if (this.checked) {
$("input:checkbox").attr("checked","checked");
} else {
$("input:checkbox").removeAttr("checked");
}
});
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
就爱吃麻花
2013-05-03 · 超过12用户采纳过TA的回答
知道答主
回答量:39
采纳率:0%
帮助的人:23.6万
展开全部
$("input[name='select']").each(function() {
$(this).attr("checked", flag);
}) ;
搞这么麻烦干嘛
$("input[name='select']").attr("checked",flag);
试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式