所以我在我的视图中有一个表格,我已经达到了select-all复选框选择/取消选择的程度。但是我似乎无法选择所有复选框。它只选择列表中的第一个复选框。
以下是我看来的片段。
<table class="table table-bordered">
<tr>
<th>@Html.CheckBox("CheckAll", false, new { id = "select_all" })</th>
@for (int i = 0; i < Model.additionalCustomerInfoListView.Count; i++)
{
<tr>
<td>@Html.CheckBoxFor(model => model.additionalCustomerInfoListView[i].IsSelected, new { id = "someDivId" })</td>
这是我的jQuery
$('#select_all').click(function () {
var c = this.checked;
$('#someDivId').prop('checked', c)
});
感谢我能得到的任何帮助!
答案 0 :(得分:5)
将新{ id = "someDivId" }
更改为new { @class= "someClass"}
。
然后用&#34; someClass&#34;选择所有元素。使用:
$('#select_all').click(function () {
$('.someClass').prop('checked', this.checked)
});
答案 1 :(得分:0)
您应该考虑另一种方式,例如取消选中子复选框,然后也应取消选择父级。
表示如果表中有10个复选框,如果未选中一个,则还应取消选择父级。
以下是逐个选择子复选框时选择父级的代码
通过孩子
if($('#myTable tr').length-1 == $(".someClass:checked").length)
{
//Select parent
}
通过父母
$('#select_all').click(function () {
$('.someClass').prop('checked', this.checked)
});
由于