我已经尝试了所有给定的方法取消选中jquery中的复选框,请找到我的下面的代码。
$('#btnDeleteEnterpriseID').click(function () {
$('#chkbox').prop('checked', false);
$('#chkbox').removeAttr('checked');
$('#chkbox').checked = false;
$('#chkbox').attr('checked', false);
$('#chkbox input:checkbox').attr('checked', false);
$('#chkbox input[type=checkbox]').removeAttr('checked');
});
尝试过我现在可以得到的所有方法。
以下是我的复选框和按钮的代码。
@helper DisplayMultiLine(string str)
{ foreach (string s in str.Split(new char[] { ',' }))
{ <input type="checkbox" id="chkbox" value="@s"class="edit-mode" />@s <br />}
}
这里,@ DisplayMultiline是我在Web Grid列中使用的辅助类,如下所示,
grid.Column(columnName: "EnterpriseID",
format:@<text><span class="display-mode">
<label id="EnterpriseId" ></label>
</span>@DisplayMultiLine(@item.EnterpriseId)</text>),
我希望此复选框在删除按钮的单击事件时取消选中,代码如下所示。
<button type="button" id="btnDeleteEnterpriseID"
value="Delete" class="cancel-user edit-mode" onclick="DeleteEnterpriseID()">Delete</button>
我没有弄错,请帮助。
请注意,我没有将所有这些可能性一起使用,我只是想告诉我,我已经使用了几乎所有的方法,并逐一尝试过。
答案 0 :(得分:0)
您正在foreach中生成重复的标识符:
@helper DisplayMultiLine(string str)
{ foreach (string s in str.Split(new char[] { ',' }))
{ <input type="checkbox" id="chkbox" value="@s"class="edit-mode" />@s <br />}
}
如果您有多个具有相同ID的对象,则jquery无法区分您瞄准哪一个。
Jquery将只在它匹配的第一个上工作,或者根本不工作。 找到区分每个复选框的方法。 例如:
@helper DisplayMultiLine(string str)
int i = 0;
{ foreach (string s in str.Split(new char[] { ',' }))
{ <input type="checkbox" id="chkbox" + i value="@s"class="edit-mode" />@s
}
i++;
}