Validar casillas de seleccion (radio,checkbox)
Seguimos con formularios y validaciones; es bastante común pedir, en un formulario, la selección de uno o más elementos de una lista de opciones dispuestas en forma de objetos radio o check box. supongamos el siguiente formulario:
<form name=”formulario” id=”formulario” >
<p>Selecciona por lo menos una casilla:</p>
<input type=”checkbox” class=”casilla” name=”check1″> Opcion 1<br>
<input type=”checkbox” class=”casilla” name=”check2″> Opcion 2<br>
<input type=”checkbox” class=”casilla” name=”check3″> Opcion 3<br>
<p>Selecciona opción:</p>
<input type=”radio” class=”seleccion” name=”ciudad” value=”1″> sel 1<br>
<input type=”radio” class=”seleccion” name=”ciudad” value=”2″> sel 2<br>
<input type=”radio” class=”seleccion” name=”ciudad” value=”3″> Sel 3<br>
</form>
en el que se presentan dos grupos de selección, una acepta selección multiple y la otra solo permite la seleccion de una opcion; la siguiente función verificara si se ha seleccionado por lo menos una opción de un grupo de radio o check boxes:
jQuery.fn.verificaCheck=function()
{
if($(“.”+$(this).attr(‘class’)+”:checked”).length==0)
{
alert(‘seleccione por lo menos uno’);
$(this).focus();
return false;
} else return true;
}
La forma de usarla, en el caso del ejemplo seria:
$(document).ready(function()
{
if($(‘formulario’).submit(function()
{
if($(‘.casilla’).verificaCheck())
{
if($(‘.seleccion’).verificaCheck())
{
return true;
} else return false;
} else return false;
}
});
Debería funcionar en ambos casos.