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.

0voto

Dave Clark Points 1473

Si vous utilisez React Semantic UI , data est passé comme deuxième paramètre à la méthode onChange événement.

Vous pouvez donc accéder à l checked comme suit :

<Checkbox label="Conference" onChange={(e, d) => console.log(d.checked)} />

0voto

DanimalReks Points 131

Si vous voulez obtenir les valeurs de toutes les cases à cocher en utilisant jQuery, ceci pourrait vous aider. Il analysera la liste et, en fonction du résultat souhaité, vous pourrez exécuter un autre code. BTW, dans ce but, il n'est pas nécessaire de nommer l'entrée avec des crochets []. Je les ai laissés de côté.

  $(document).on("change", ".messageCheckbox", function(evnt){
    var data = $(".messageCheckbox");
    data.each(function(){
      console.log(this.defaultValue, this.checked);
      // Do something... 
    });
  }); /* END LISTENER messageCheckbox */

0voto

Carson Arucard Points 334

javascript pur et les navigateurs modernes

// for boolean
document.querySelector(`#isDebugMode`).checked

// checked means specific values
document.querySelector(`#size:checked`)?.value ?? defaultSize

Exemple

<form>
  <input type="checkbox" id="isDebugMode"><br>
  <input type="checkbox" value="3" id="size"><br>
  <input type="submit">
</form>

<script>
  document.querySelector(`form`).onsubmit = () => {
    const isDebugMode = document.querySelector(`#isDebugMode`).checked
    const defaultSize = "10"
    const size = document.querySelector(`#size:checked`)?.value ?? defaultSize
    //

-7voto

VanThaoNguyen Points 350

Dans mon projet, j'utilise généralement ces extraits :

var type[];
$("input[name='messageCheckbox']:checked").each(function (i) {
                type[i] = $(this).val();
            });

Et ça marche bien.

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