无法在jQuery中第二次检查复选框

时间:2014-01-16 20:00:53

标签: jquery html checkbox

我正在尝试对输入复选框进行操作,但是每次我点击标签时第一次选中该复选框之后我再次点击标签并且取消选中该复选框到目前为止都很好。但是当我再次点击标签时,将不会选中该复选框。

我的jQuery代码如下

$('.form-checkbox label').on('click', function(e) {
    e.preventDefault();

        if ($(this).hasClass('checked')) {

            $(this).removeClass('checked');
            $(this).find('span').removeClass('checked');
            $(this).find('input').attr('CHECKED', false);
        } else {

            $(this).addClass('checked');
            $(this).find('span').addClass('checked');
            $(this).find('input').attr('CHECKED', true);
        }
    });

我的HTML如下

<div class="form-checkbox">
   <label id="checkbox-checkbox">
      <input id="checkbox-checkbox" name="checkbox" value="option1" type="checkbox" /><span></span> Option 1
   </label>
</div>

2 个答案:

答案 0 :(得分:3)

使用.prop()代替.attr()

 $(this).find('input').prop('checked', true/false);

请参阅.prop() vs .attr()

答案 1 :(得分:0)

I think you should try this

$('.form-checkbox label').on('click', function() {
   var chk = $("#checkbox-checkbox").prop("checked");
   $("#checkbox-checkbox").prop("checked", !chk);
});