<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://code.jquery.com/jquery-latest.js"></script>
<style>
</style>
</head>
<body>
<form>
<div>
Indica la cantidad que puedes seleccinar: <input type="text" id="cantidad" value="0">
</div>
<input type="checkbox"> A
<input type="checkbox"> B
<input type="checkbox"> C
<input type="checkbox"> D
<input type="checkbox"> E
<input type="checkbox"> F
<input type="checkbox"> G
<input type="checkbox"> H
<input type="checkbox"> I
<input type="checkbox"> J
<input type="checkbox"> K
<div>Seleccionados: <span id="seleccionados">0</span></div>
</form>
</body>
</html>
<script>
$(document).ready(function(){
// Evento que se ejecuta al soltar una tecla en el input
$("#cantidad").keydown(function(){
$("input[type=checkbox]").prop('checked', false);
$("#seleccionados").html("0");
});
// Evento que se ejecuta al pulsar en un checkbox
$("input[type=checkbox]").change(function(){
// Cogemos el elemento actual
var elemento=this;
var contador=0;
// Recorremos todos los checkbox para contar los que estan seleccionados
$("input[type=checkbox]").each(function(){
if($(this).is(":checked"))
contador++;
});
var cantidadMaxima=parseInt($("#cantidad").val()) || 0;
// Comprovamos si supera la cantidad máxima indicada
if(contador>cantidadMaxima)
{
alert("Has seleccionado mas checkbox que los indicados");
// Desmarcamos el ultimo elemento
$(elemento).prop('checked', false);
contador--;
}
$("#seleccionados").html(contador);
});
});
</script>
Comentarios sobre la versión: Versión 1 (2)