modificando ligeramente marcado de la respuesta de Marve (ID dando a la mesa)
Working Demo →
EDITAR:
Versión actualizada donde la casilla 'selectAll' refleja correctamente el estado de las casillas de verificación. P.ej. si selecciona todas las casillas de verificación manualmente, seleccione Todas las casillas de verificación se verificarán automáticamente. Pruebe la demostración para comprender el comportamiento.
Código:
<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>
Su jQuery podría ser tan simple como esto:
$(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);
}
);
}
);
Los ven como casillas de verificación ASP.NET, ASP.NET MVC no. MVC solo usaría casillas regulares de html. ¿Cómo cambia eso las cosas? – KingNestor
Con esta solución, si el usuario desmarca la casilla de verificación "seleccionar todo", las casillas permanecen marcadas. Consulte mi respuesta a continuación para que jQuery maneje la selección Y anule la selección de todos los cuadros. – idrumgood
@kingnestor - no cambiará nada. usa tus casillas de verificación estándar y esto funcionará. – Jason