Question Test si une case à cocher est cochée avec jQuery


Si la case est cochée, alors j'ai seulement besoin d'obtenir la valeur 1; sinon, je dois l'obtenir comme 0. Comment est-ce que je fais cela en utilisant jQuery?

$("#ans").val() me donnera toujours un droit dans ce cas:

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

552
2018-01-27 05:59


origine


Réponses:


Utilisation .is(':checked') pour déterminer si elle est vérifiée ou non, puis définissez votre valeur en conséquence.

Plus d'informations ici.


962
2018-01-27 06:03



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

vous dira si c'est vérifié. Vous pouvez également utiliser un deuxième paramètre vrai / faux pour cocher / décocher la case.

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

Par commentaire, utilisez prop au lieu de attr quand disponible. Par exemple:

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

203
2018-01-27 06:05



Juste utiliser $(selector).is(':checked') 

Il renvoie une valeur booléenne.


85
2018-05-09 11:47



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

52
2018-04-16 15:31



La réponse de Stefan Brinkmann est excellente, mais incomplète pour les débutants (omet l'assignation de variable). Juste pour clarifier:

// this structure is called a ternary operator
var cbAns = ( $("#ans").is(':checked') ) ? 1 : 0;

Cela fonctionne comme ceci:

 var myVar = ( if test goes here ) ? 'ans if yes' : 'ans if no' ;

Exemple:

var myMath = ( 1 > 2 ) ? 'yes' : 'no' ;
alert( myMath );

Alertes 'non'

Si cela vous aide, veuillez répondre à la question de Stefan Brinkmann.


19
2018-01-30 16:31



Vous pouvez essayer ceci:

$('#studentTypeCheck').is(":checked");

16
2017-08-08 11:39



J'ai déjà trouvé le même problème, espérons que cette solution peut vous aider. 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 de 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;
    }
};

utilisez le code pour obtenir la valeur de la case à cocher:

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

tu peux tester ici


15
2017-07-05 08:22



$('input:checkbox:checked').val();        // get the value from a checked checkbox

7
2017-08-28 07:42