Tester si une case à cocher est cochée avec jQuery

Si la case à cocher est cochée, il suffit que j’obtienne la valeur 1; Sinon, je dois l’avoir sous la forme 0. Comment puis-je utiliser jQuery?

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

  

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

Plus d’informations ici.

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

vous dira si c’est vérifié. Vous pouvez également utiliser un second paramètre true / false 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') 

Utilisez simplement $(selector).is(':checked')

Il retourne une valeur booléenne.

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

La réponse de Stefan Brinkmann est excellente, mais incomplète pour les débutants (omet l’assignation des variables). 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 est utile, merci de répondre à Stefan Brinkmann.

Vous pouvez essayer ceci:

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

J’ai déjà trouvé le même problème, j’espère que cette solution pourra vous aider. Tout d’abord, ajoutez un atsortingbut personnalisé à vos cases à cocher:

  

é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(); 

vous pouvez tester ici

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

Vous pouvez aussi utiliser:

 $("#ans:checked").length == 1; 
  

Jquery: var test= $("#ans").is(':checked') et retourne true ou false.

Dans votre fonction:

 $test =($request->get ( 'test' )== "true")? '1' : '0'; 

Utilisation:

 $("#ans option:selected").val() 
 function chkb(bool){ if(bool) return 1; return 0; } var statusNum=chkb($("#ans").is(':checked')); 

statusNum sera égal à 1 si la case est cochée et à 0 si ce n’est pas le cas.

EDIT: Vous pouvez également append le DOM à la fonction.

 function chkb(el){ if(el.is(':checked')) return 1; return 0; } var statusNum=chkb($("#ans")); 

Il y a plusieurs options comme là-bas ….

  1. $("#ans").is(':checked') 2. $("#ans:checked") 3. $('input:checkbox:checked'); 

Si toutes ces options renvoient la valeur true, vous pouvez définir la valeur de manière accourdissante.

Je suis passé par un cas récemment où j’ai eu besoin de vérifier la valeur de la case à cocher lorsque l’utilisateur clique sur le bouton. La seule façon appropriée de le faire est d’utiliser prop() atsortingbut prop() .

 var ansValue = $("#ans").prop('checked') ? $("#ans").val() : 0; 

Cela a fonctionné dans mon cas, peut-être que quelqu’un en aura besoin.

Lorsque j’ai essayé .attr(':checked') il a checked mais je voulais une valeur booléenne et .val() renvoyé la valeur de l’atsortingbut.

Essaye ça

 $('input:checkbox:checked').click(function(){ var val=(this).val(); // it will get value from checked checkbox; }) 

Ici, le drapeau est vrai s’il est coché sinon faux

 var flag=$('#ans').attr('checked'); 

Encore une fois cela va faire chier

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

Vous pouvez obtenir la valeur (true / false) par ces deux méthodes

 $("input[type='checkbox']").prop("checked"); $("input[type='checkbox']").is(":checked"); 

Si vous voulez que la valeur entière soit cochée ou non, essayez:

$ (“# ans: checked”). length

Vérifiez d’abord que la valeur est cochée

 $("#ans").find("checkbox").each(function(){ if ($(this).prop('checked')==true){ var id = $(this).val() } }); 

Sinon, définissez la valeur 0

$ (‘input [id = ans]’). is (‘: checked’);