Obtenir la valeur de la case à cocher dans jQuery

Comment puis-je obtenir la valeur d’une case à cocher dans jQuery?

Pour obtenir la valeur de l’atsortingbut Value, vous pouvez faire quelque chose comme ceci:

$("input[type='checkbox']").val(); 

Ou si vous avez défini une class ou un id , vous pouvez:

 $('#check_id').val(); $('.check_class').val(); 

Cependant, cela retournera la même valeur si elle est cochée ou non, cela peut être déroutant car il diffère du comportement du formulaire soumis.

Pour vérifier si elle est cochée ou non, faites:

 if ($('#check_id').is(":checked")) { // it is checked } 

Ces deux manières fonctionnent:

  • $('#checkbox').prop('checked')
  • $('#checkbox').is(':checked') (merci @mgsloan )
 $('#test').click(function() { alert("Checkbox state (method 1) = " + $('#test').prop('checked')); alert("Checkbox state (method 2) = " + $('#test').is(':checked')); }); 
  Check me:  

Essayez cette petite solution:

 $("#some_id").attr("checked") ? 1 : 0; 

ou

 $("#some_id").attr("checked") || 0; 

Les seules manières correctes de récupérer la valeur d’une case à cocher sont les suivantes:

 if ( elem.checked ) if ( $( elem ).prop( "checked" ) ) if ( $( elem ).is( ":checked" ) ) 

comme expliqué dans les documentations officielles sur le site Web de jQuery. Le rest des méthodes n’a rien à voir avec la propriété de la case à cocher, ils vérifient l’atsortingbut, ce qui signifie qu’ils testent l’état initial de la case à cocher lors de son chargement. Donc en bref:

  • Lorsque vous avez l’élément et que vous savez qu’il s’agit d’une case à cocher, vous pouvez simplement lire sa propriété et vous n’aurez pas besoin de jQuery (par exemple, elem.checked ) ou vous pouvez utiliser $(elem).prop("checked") vouloir compter sur jQuery.
  • Si vous avez besoin de connaître (ou de comparer) la valeur lors du premier chargement de l’élément (c.-à-d. La valeur par défaut), la méthode correcte est $(elem).is(":checked") .

Les réponses sont trompeuses, veuillez vérifier ci-dessous:

http://api.jquery.com/prop/

Juste pour clarifier les choses:

 $('#checkbox_ID').is(":checked") 

Renverra ‘vrai’ ou ‘faux’

 $('#checkbox_id').val(); $('#checkbox_id').is(":checked"); $('#checkbox_id:checked').val(); 
 jQuery(".checkboxClass").click(function(){ var selectedCountry = new Array(); var n = jQuery(".checkboxClass:checked").length; if (n > 0){ jQuery(".checkboxClass:checked").each(function(){ selectedCountry.push($(this).val()); }); } alert(selectedCountry); }); 

Simple mais efficace et suppose que vous connaissez la case à cocher:

 $("#some_id")[0].checked; 

Donne true / false

Malgré le fait que cette question demande une solution jQuery, voici une réponse JavaScript pure puisque personne ne l’a mentionné.

Sans jQuery:

Sélectionnez simplement l’élément et accédez à la propriété checked (qui retourne un booléen).

 var checkbox = document.querySelector('input[type="checkbox"]'); alert(checkbox.checked); 
  
 //By each() var testval = []; $('.hobbies_class:checked').each(function() { testval.push($(this).val()); }); //by map() var testval = $('input:checkbox:checked.hobbies_class').map(function(){ return this.value; }).get().join(","); //HTML Code Cricket Hockey 

Exemple
Démo

Voici comment obtenir la valeur de toutes les cases à cocher cochées en tant que tableau:

 var values = (function() { var a = []; $(".checkboxes:checked").each(function() { a.push(this.value); }); return a; })() 
  

 
{{$name->name}}

Use This $ (‘input [name ^ = CheckBoxInput]’). Val ();

$ (‘. class [value = 3]’). prop (‘checked’, true);