当用户点击图片时,我正在使用jquery选中复选框。
这是我的代码:
function clickimage(e){
chkbox = e.parent().children('.chkBox');
if(chkbox.is(":checked")){
chkbox.attr('checked', false);
}else{
chkbox.attr('checked', true);
}
}
当我第一次点击图片时,复选框会检查。当我再次点击图像时,取消选中该复选框。但问题是在此之后,永远不会再次选中复选框。
我尝试验证chkbox.is(":checked")
并确实返回false
值。我把检查代码放在chkbox.attr('checked', true);
之后,它也返回false值。
为什么会那样?我该如何解决?
谢谢。
答案 0 :(得分:1)
这样做:
function clickimage(e){
chkbox = e.parent().children('.chkBox');
if(chkbox.is(":checked")){
chkbox.prop('checked', false);
}else{
chkbox.prop('checked', true);
}
}
您应该使用.prop()
而不是.attr()
答案 1 :(得分:1)
答案 2 :(得分:0)
尝试
if(chkbox.is(":checked")){
chkbox.removeAttr('checked');
}else{
chkbox.attr('checked', 'checked');
}
答案 3 :(得分:0)
试试这个:
function clickimage(e){
chkbox = e.parent().find('.chkBox');
if(chkbox.is(":checked")){
chkbox.attr('checked', false);
}else{
chkbox.attr('checked', true);
}
}