268 votes

Obtenir la valeur d'une case à cocher cochée ?

Donc j'ai un code qui ressemble à ça :

<input class="messageCheckbox" type="checkbox" value="3" name="mailId[]">
<input class="messageCheckbox" type="checkbox" value="1" name="mailId[]">

J'ai juste besoin de Javascript pour obtenir la valeur de la case à cocher qui est actuellement cochée.

EDIT : Pour ajouter, il n'y aura qu'UNE seule case cochée.

354voto

JanBorup Points 557

Aucune des méthodes ci-dessus n'a fonctionné pour moi, mais utilisez simplement celle-ci :

document.querySelector('.messageCheckbox').checked;

332voto

Engineer Points 19343

Pour les navigateurs modernes :

var checkedValue = document.querySelector('.messageCheckbox:checked').value;

En utilisant jQuery :

var checkedValue = $('.messageCheckbox:checked').val();

Du pur javascript sans jQuery :

var checkedValue = null; 
var inputElements = document.getElementsByClassName('messageCheckbox');
for(var i=0; inputElements[i]; ++i){
      if(inputElements[i].checked){
           checkedValue = inputElements[i].value;
           break;
      }
}

140voto

user1683014 Points 421

J'utilise ceci dans mon code. Essayez ceci

var x=$("#checkbox").is(":checked");

Si la case est cochée x sera vrai, sinon il sera faux.

25voto

Stano Points 2843

En simple javascript :

function test() {
    var cboxes = document.getElementsByName('mailId[]');
    var len = cboxes.length;
    for (var i=0; i<len; i++) {
        alert(i + (cboxes[i].checked?' checked ':' unchecked ') + cboxes[i].value);
    }
}

function selectOnlyOne(current_clicked) {
    var cboxes = document.getElementsByName('mailId[]');
    var len = cboxes.length;
    for (var i=0; i<len; i++) {
        cboxes[i].checked = (cboxes[i] == current);
    }
}

13voto

Joe Iddon Points 13453

Cela ne répond pas directement à la question, mais peut aider les futurs visiteurs.


Si vous souhaitez qu'une variable corresponde toujours à l'état actuel de la case à cocher (plutôt que d'avoir à vérifier constamment son état), vous pouvez modifier l'attribut onchange pour définir cette variable.

Cela peut être fait dans le HTML :

<input class='messageCheckbox' type='checkbox' onchange='some_var=this.checked;'>

ou avec JavaScript :

cb = document.getElementsByClassName('messageCheckbox')[0]
cb.addEventListener('change', function(){some_var = this.checked})

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