使用jQuery获取复选框

时间:2015-08-25 02:39:38

标签: javascript jquery checkbox

我有一个函数可以捕获所有复选框的更改。它在手动单击框时起作用,但在toggleAll()函数触发它们时不起作用。

无论如何要纠正这个?

$(function() {
    $(":checkbox").change(function(){
    if ( this.checked ) {
        alert(this.id+' is checked');
    } else {
        alert(this.id+' is not checked');
    }
    });
});

function toggleAll() {
    var selectAllCheckbox = $("#selectAllCheckbox");
    if ( selectAllCheckbox.prop('checked') ) {
        // uncheck them all
        $("[id^=friendRequestCheckbox]").attr('checked', false);
    } else {
        // check them all
        $("[id^=friendRequestCheckbox]").attr('checked', true);
    }
}

我正在运行旧版本的jQuery,并且没有更新到包含prop的新版本,以防万一相关。

1 个答案:

答案 0 :(得分:3)

以编程方式更改元素时,还必须以编程方式触发事件。试试:

$("[id^=friendRequestCheckbox]").trigger('change')