Hơi sửa đổi đánh dấu câu trả lời từ Marve của (cho ID để bàn)
Working Demo →
EDIT:
Phiên bản cập nhật trong đó hộp kiểm 'selectAll' phản ánh chính xác trạng thái của hộp kiểm. Ví dụ. nếu bạn chọn tất cả hộp kiểm theo cách thủ công, hãy chọnTất cả hộp kiểm sẽ tự động được chọn. Thử bản demo để hiểu hành vi.
Code:
<table id='myTable'>
<thead>
<tr>
<th><input type="checkbox" /></th>
<th>Column 1</th>
<th>Column 2</th>
</tr>
</thead>
<tbody>
<tr>
<td><input type="checkbox" /></td>
<td>Tabular Data 1</td>
<td>Tabular Data 2</td>
</tr>
<tr>
<td><input type="checkbox" /></td>
<td>Tabular Data 3</td>
<td>Tabular Data 4</td>
</tr>
</tbody>
</table>
jQuery của bạn có thể đơn giản như thế này:
$(document).ready(
function()
{
$('#myTable th input:checkbox').click(
function()
{
$('#myTable td input:checkbox').attr('checked', $(this).attr('checked'));
}
);
//The following code keeps the 'selectAll' checkbox in sync with
//the manual selection of the checkboxes by user. This is an additional usability feature.
$('#myTable tr input:checkbox').click(
function()
{
var checkedCount = $('#myTable td input:checkbox:checked').length;
var totalCount = $('#myTable td input:checkbox').length;
$('#myTable th input:checkbox').attr('checked', checkedCount === totalCount);
}
);
}
);
Những trông giống như ASP.NET hộp kiểm, không ASP.NET-MVC. MVC sẽ chỉ sử dụng các hộp kiểm html thông thường. Làm thế nào mà thay đổi mọi thứ? – KingNestor
Với giải pháp này, nếu người dùng bỏ chọn hộp kiểm 'chọn tất cả', các hộp sẽ được chọn. Xem câu trả lời của tôi bên dưới để jQuery xử lý việc chọn VÀ bỏ chọn tất cả các hộp. – idrumgood
@kingnestor - nó sẽ không thay đổi bất cứ điều gì. sử dụng hộp kiểm tiêu chuẩn của bạn và điều này sẽ hoạt động. – Jason