如何确定是否在jQuery中选中了复选框?

时间:2016-04-21 18:30:58

标签: javascript jquery checkbox onchange

我动态创建了一堆复选框,如下所示:

@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)”总是为false,当我选中一个复选框时以及我随后取消选中/取消选中它时。

那么我需要做些什么才能确定何时取消选中?我实际上是先尝试过这个:“如果(!$(this).checked)”但这只是反过来 - 条件总是如此。

1 个答案:

答案 0 :(得分:1)

$(this)是jQuery对象。只需使用基本的javascript this,就像下面一样。

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