591 votos

jquery checkbox valor

Si la casilla de verificación está marcada, entonces yo sólo necesita recibir el valor 1; de lo contrario, necesito de ti como 0. ¿Cómo puedo hacer esto con jquery?

$("#ans").val() siempre va a dar me uno a la derecha, en este caso:

<input type="checkbox" id="ans" value="1" />

1008voto

ajm Puntos 10000

Usted puede hacer algunas cosas diferentes, pero básicamente se pueden utilizar .is(':checked') para determinar si es o no es activada y, a continuación, establezca su valor en consecuencia.

Más información aquí.

211voto

xaxxon Puntos 5389
$("#ans").attr('checked') 

le dirá si está marcada. También puede utilizar un segundo parámetro true/false para que marque/desmarque la casilla de verificación.

$("#ans").attr('checked', true);

Por cada comentario, utilice prop en lugar de attr cuando esté disponible. Por ejemplo:

$("#ans").prop('checked')

90voto

SimionBaws Puntos 431

Sólo uso $(selector).is(':checked')

Devuelve un valor booleano.

56voto

Stefan Brinkmann Puntos 328
// use ternary operators
$("#ans").is(':checked') ? 1 : 0;

15voto

antmary Puntos 188

He encontrado el mismo problema de antes, espero que esta solución te puede ayudar. en primer lugar, agregue un atributo personalizado a sus casillas de verificación:

<input type="checkbox" id="ans" value="1" data-unchecked="0" />

escribe una extensión de jQuery para obtener el valor:

$.fn.realVal = function(){
    var $obj = $(this);
    var val = $obj.val();
    var type = $obj.attr('type');
    if (type && type==='checkbox') {
        var un_val = $obj.attr('data-unchecked');
        if (typeof un_val==='undefined') un_val = '';
        return $obj.prop('checked') ? val : un_val;
    } else {
        return val;
    }
};

utilice el código para obtener el check-cuadro de valor:

$('#ans').realVal();

usted puede probar aquí

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X