jQuery选择使用prop或attr时不起作用的所有复选框

时间:2013-08-13 18:06:25

标签: javascript jquery

我正在尝试使用jQuery检查表单中的所有复选框,但它无效。我已使用以下代码将其绑定到某些链接元素:

$(document).ready(function() {

    $('#discounts_all').click(function() {
        $('.discount_select').prop('checked', true);
    });

    $('#discounts_none').click(function() {
        $('.discount_select').prop('checked', false);
    });

}

我也尝试过:

$(document).ready(function() {

    $('#discounts_all').click(function() {
        $('.discount_select').attr('checked', true);
    });

    $('#discounts_none').click(function() {
        $('.discount_select').attr('checked', false);
    });

}

元素的html:

<a href="javascript:void(0);" id="discounts_all">All</a>
<a href="javascript:void(0);" id="discounts_none">None</a>

然而,当我点击它们时,没有任何事情发生,没有错误或任何事情。

1 个答案:

答案 0 :(得分:3)

至少一个主要问题是您错过了ready处理程序的结束括号:);(请参阅注释)。


而不是javascript:void(0)我会使用return false;

$(document).ready(function() {

    $('#discounts_all').click(function() {
        $('.discount_select').prop('checked', true);
        return false;
    });

    $('#discounts_none').click(function() {
        $('.discount_select').prop('checked', false);
        return false;
    });

}); // <<< Also you miss this: ");"

和html:

<a href="#" id="discounts_all">All</a>
<a href="#" id="discounts_none">None</a>

JSDIDDLE