【问题标题】:jQuery receiving checkbox statusjQuery接收复选框状态
【发布时间】:2011-11-30 12:34:59
【问题描述】:

我正在以这种方式更改复选框状态:$(this).attr("checked", 'checked');

在此之后我想收到复选框状态,但我得到了这个:

$(this).attr('checked'): "checked"
$(this).is(':checked'): false

这怎么可能?

附:也许我没有通过 jQuery 正确更改复选框状态?

【问题讨论】:

    标签: javascript jquery checkbox


    【解决方案1】:

    正确的方法是$(this).prop('checked') 返回布尔属性而不是属性(它是一个字符串)。

    使用.prop(),您还可以设置选中状态:$(this).prop('checked', true_or_false);

    正如您在http://jsfiddle.net/ThiefMaster/QR2fL/ 上看到的,.attr('checked') 返回属性的初始值 - 在选中/取消选中复选框时它不会更改。

    【讨论】:

      【解决方案2】:

      你不应该像这样选中复选框:

      $(this).attr("checked", 'checked');
      

      但是像这样

      $(this).prop("checked", true);
      

      要检查复选框是否被选中,您可以使用:

      $(this).prop('checked');
      

      $(this).is(':checked');
      

      返回一个布尔属性

      【讨论】:

        猜你喜欢
        • 2011-03-08
        • 2018-06-17
        • 1970-01-01
        • 2012-11-17
        • 2012-08-11
        • 1970-01-01
        • 2012-01-15
        • 2016-12-13
        • 1970-01-01
        相关资源
        最近更新 更多