代码之家  ›  专栏  ›  技术社区  ›  photo_tom

无法使用jQuery将复选框设置为已在Chrome中签入

  •  1
  • photo_tom  · 技术社区  · 12 年前

    我有一些代码在最新版本的chrome(32.0.1700.107)中被破坏了。jQuery版本是1.10.1。这段代码去年一直在其他浏览器中运行。它在IE8中工作正常。代码的关键部分如下-

    var stateWideCb = $('.showStatewide input');
    stateWideCb.change(function () {
        var b = $(this).is(':checked');
                $('.showRegion input').attr('checked', b);
        });
    

    发生的情况是,在前两次单击Master复选框后,代码停止工作。

    你可以在 http://jsfiddle.net/photo_tom/dXczB/1/

    1 回复  |  直到 12 年前
        1
  •  4
  •   j08691    12 年前

    更改:

    .attr('checked', b);
    

    .prop('checked', b);
    

    jsFiddle example

    作为 jQuery docs on .attr() 状态:

    要检索和更改DOM财产,如 选中的 ,已选择, 或表单元素的禁用状态,请使用.prop()方法。