我动态创建了一堆复选框,如下所示:
@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)”但这只是反过来 - 条件总是如此。
答案 0 :(得分:1)
$(this)
是jQuery对象。只需使用基本的javascript this
,就像下面一样。
this.checked //instead of `$(this).checked`