Testen, ob ein Kontrollkästchen mit jQuery aktiviert ist

Wenn das Kontrollkästchen aktiviert ist, muss ich nur den Wert 1 erhalten; Ansonsten muss ich es als 0 erhalten. Wie mache ich das mit jQuery?

$("#ans").val() gibt mir immer ein Recht in diesem Fall:

  

   

Verwenden Sie .is(':checked') um festzustellen, ob es aktiviert ist, und legen Sie dann Ihren Wert entsprechend fest.

Mehr Informationen hier.

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

wird Ihnen sagen, wenn es überprüft wird. Sie können auch einen zweiten Parameter true / false verwenden, um das Kontrollkästchen zu aktivieren / deaktivieren.

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

Verwenden Sie für attr Kommentar prop anstelle von attr wenn verfügbar. Z.B:

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

$(selector).is(':checked') einfach $(selector).is(':checked')

Es gibt einen booleschen Wert zurück.

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

Stefan Brinkmanns Antwort ist hervorragend, aber für Anfänger unvollständig (die variable Zuweisung entfällt). Nur um klarzustellen:

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

Es funktioniert so:

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

Beispiel:

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

Warnungen “Nein”

Wenn das hilfreich ist, bitte ich um eine Antwort von Stefan Brinkmann.

Sie können dies versuchen:

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

Ich habe das gleiche Problem zuvor gefunden, hoffe diese Lösung kann Ihnen helfen. Zuerst fügen Sie Ihren Checkboxen ein benutzerdefiniertes Attribut hinzu:

  

Schreibe eine jQuery-Erweiterung, um Wert zu erhalten:

 $.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; } }; 

Verwenden Sie Code, um den Wert der Checkbox zu erhalten:

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

Sie können hier testen

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

Sie können auch verwenden:

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

Jquery: var test= $("#ans").is(':checked') Is var test= $("#ans").is(':checked') und gibt wahr oder falsch zurück.

In Ihrer function:

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

Benutzen:

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

statusNum ist gleich 1, wenn das Kontrollkästchen aktiviert ist, und 0, wenn dies nicht der Fall ist.

EDIT: Sie könnten das DOM auch der function hinzufügen.

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

Es gibt mehrere Möglichkeiten, die es gibt ….

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

Wenn alle diese Optionen wahr sind, können Sie den Wert entsprechend anpassen.

Ich habe kürzlich einen Fall durchsucht, in dem ich den Check-Wert des Kontrollkästchens benötigt habe, als der Benutzer auf die Schaltfläche geklickt hat. Der einzige geeignete Weg ist das Attribut prop() .

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

Das hat in meinem Fall funktioniert, vielleicht wird es jemand brauchen.

Wenn ich versucht habe .attr(':checked') es zurückgegeben, checked aber ich wollte Boolean Wert und. .val() zurückgegeben Wert des Attributwerts.

Versuche dies

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

Hier ist das Flag wahr, wenn es ansonsten falsch gesetzt ist

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

Auch dies wird cheked machen

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

Sie können mit diesen beiden Methoden einen Wert (wahr / falsch) erhalten

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

Wenn Sie möchten, Integer-Wert von überprüft oder nicht versuchen:

$ (“# ans: checked”). Länge

Überprüfen Sie zunächst, ob der Wert aktiviert ist

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

Sonst setzen Sie den Wert 0

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