597 votes

jquery case de valeur

Si la case est cochée, alors j'ai seulement besoin d'obtenir la valeur 1, sinon, j'ai besoin de l'avoir comme 0. Comment puis-je le faire à l'aide de jquery?

$("#ans").val() toujours donne-moi une raison dans ce cas:

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

1013voto

ajm Points 10000

Vous pouvez faire des trucs un peu différents, mais, fondamentalement, vous pouvez utiliser .is(':checked') afin de déterminer si oui ou non elle est cochée, puis définir votre valeur en conséquence.

Plus d'informations ici.

212voto

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

est vous dire si elle est cochée. Vous pouvez également utiliser un deuxième paramètre true/false pour cocher/décocher la case.

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

Par commentaire, utilisez prop au lieu de attr lorsqu'ils sont disponibles. E. g:

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

90voto

SimionBaws Points 431

Suffit d'utiliser $(selector).is(':checked')

Elle renvoie une valeur booléenne.

57voto

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

15voto

antmary Points 188

J'ai trouvé le même problème avant, espérons que cette solution peut vous aider. tout d'abord, ajoutez un attribut personnalisé à vos cases à cocher:

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

écrire une extension jQuery pour obtenir la valeur:

$.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;
    }
};

utiliser le code pour obtenir la case de valeur:

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

vous pouvez tester ici

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X