如何确定 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`
我像这样动态创建了一堆复选框:
@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`