Use ambos jQuery.checkbox y jQuery.field

votos
0

Gracias por tu tiempo.

Intento usar 2 soluciones de Jquery en un formulario, pero no puedo obtener el resultado deseado después de trabajarlo durante varias horas.

La primera solución de jquery permite una mejor apariencia http://www.envirotalk.com.au/jquery/jquery-checkbox.htm

La segunda solución de jquery permite establecer un límite en la cantidad de casillas de verificación seleccionadas. http://www.envirotalk.com.au/jquery/jquery-field.htm

Este es mi intento de combinar los dos. http://www.envirotalk.com.au/jquery/combined.htm

Creo que el problema se relaciona con esta línea de código, pero no puedo estar seguro.

setLimitSelection();

El resultado que estoy tratando de lograr.

  • Mira y siente; jquery-checkbox
  • Límite a la cantidad de casillas de verificación que se pueden seleccionar; jquery-field
  • El mensaje de error; jquery-field
  • Al borrar el valor extra del campo una vez se excedió el límite; jquery-field.

Si alguien tiene tiempo para echar un vistazo y ayudarme, eso sería muy apreciado.

Saludos

ceroanarquía

Publicado el 27/07/2009 a las 13:55
fuente por usuario
En otros idiomas...                            


2 respuestas

votos
0

Es probable que los dos complementos entren en conflicto entre sí, ya que el código que está utilizando es el mismo que el que se proporciona en los ejemplos individuales. Para limitar las casillas de verificación que se pueden seleccionar, puede intentar esto:

function setLimitSelection(){
    $("input[type=checkbox]").click(function(){
        var checkboxes_to_allow = 3;
        if($('input[type=checkbox]:checked').length == (checkboxes_to_allow+1)){
            //show error message
            return false;
        } else {
            //clear message
        }
    });
}

Creo que el código es lo suficientemente claro como para no necesitar comentarios.

Respondida el 28/07/2009 a las 07:45
fuente por usuario

votos
0

Hola, creo que puedes resolver el problema con una pequeña variable de estado como checkfield:

var checkfield = false;

$("input[name ='name']").limitSelection({

limit: 3,
onfailure: function (n){
checkfield = true;
return false;
}
}).click(function (){
if (field6error)
{   
$(this).checkBox('changeCheckStatus', false);
checkfield = false;
alert("Not more than 3 values!")
return false;
}});
Respondida el 31/08/2009 a las 13:19
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more