【问题标题】:How can I determine whether a checkbox is checked in jQuery? [duplicate]如何确定是否在 jQuery 中选中了复选框? [复制]
【发布时间】:2016-04-21 18:30:57
【问题描述】:

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

@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)”总是为假。

那么我需要做什么来确定何时取消选中?实际上,我首先尝试了这个:“if (!$(this).checked)”,但结果正好相反——条件始终为真。

【问题讨论】:

  • if ($(this).is(":checked")) { ?
  • 你之前考虑过用谷歌搜索这个问题吗?

标签: javascript jquery checkbox onchange


【解决方案1】:

$(this) 是 jQuery 对象。只需使用基本的 javascript this 即可,如下所示。

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

【讨论】:

    猜你喜欢
    • 2011-06-12
    • 1970-01-01
    • 1970-01-01
    • 2016-03-04
    • 2011-04-18
    • 2017-03-12
    • 2010-10-28
    相关资源
    最近更新 更多