如何确定 jQuery 中的复选框是否被选中?

How can I determine whether a checkbox is checked in jQuery?

我像这样动态创建了一堆复选框:

@foreach (var rpt in reports)
{
    @* convert id to lowercase and no spaces *@
    var morphedRptName = @rpt.report.Replace(" ", string.Empty).ToLower();
    <input class="leftmargin8, ckbx" id="ckbx_@(morphedRptName)" type="checkbox" value="@rpt.report" />@rpt.report
}

我有这个事件处理程序,我想确定它们的状态 - 选中或未选中:

$(".ckbx").change(function () {
    if ($(this).checked) {
        alert('checkbox is unchecked');
        checkboxSelected = false;
        return;
    }
    alert('checkbox is checked');
    . . .

然而,条件 "if ($(this).checked)" 总是 错误,无论是当我选中一个复选框还是随后 uncheck/deselect 它时。

那么我需要做什么来确定什么时候取消选中?我实际上首先尝试了这个:"if (!$(this).checked)" 但恰恰相反 - 条件总是正确的。

$(this) 是 jQuery 对象。只需使用基本 javascript this 而不是像下面这样。

this.checked //instead of `$(this).checked`