jQuery选中复选框

时间:2014-04-13 13:35:20

标签: javascript jquery checkbox

当用户点击图片时,我正在使用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值。

为什么会那样?我该如何解决?

谢谢。

4 个答案:

答案 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)

你不需要Javascript。

只需将图片放入label

<强> Fiddle here

答案 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);
   }
 }