Mit jQuery prüfen, ob das Kontrollkästchen aktiviert ist

Wie kann ich überprüfen, ob ein Kontrollkästchen in einem Kontrollkästchen-Array mit der ID des Kontrollkästchen-Arrays aktiviert ist?

Ich verwende den folgenden Code, aber er gibt immer die Anzahl der angekreuzten Checkboxen zurück, unabhängig von der ID.

function isCheckedById(id) {
    alert(id);
    var checked = $("input[@id=" + id + "]:checked").length;
    alert(checked);

    if (angekreuzt == 0) {
        return false;
    } else {
        return true;
    }
}
Kommentare zu der Frage (7)
$('#' + id).is(":checked")

Das wird angezeigt, wenn das Kontrollkästchen markiert ist.

Für ein Array von Checkboxen mit demselben Namen können Sie die Liste der angekreuzten Checkboxen erhalten durch:

var $boxes = $('input[name=thename]:checked');

Um dann in einer Schleife zu sehen, was angekreuzt ist, können Sie Folgendes tun:

$boxes.each(function(){
    // Do stuff here with this
});

Um herauszufinden, wie viele angekreuzt sind, können Sie Folgendes tun:

$boxes.length;
Kommentare (11)
Lösung

IDs müssen in Ihrem Dokument eindeutig sein, was bedeutet, dass Sie dies nicht tun sollten:

<input type="checkbox" name="chk[]" id="chk[]" value="Apples" />
<input type="checkbox" name="chk[]" id="chk[]" value="Bananas" />

Lassen Sie stattdessen die ID fallen und wählen Sie sie dann über den Namen oder über ein enthaltendes Element aus:


    <input type="checkbox" name="chk[]" value="Apples" />

    <input type="checkbox" name="chk[]" value="Bananas" />

Und nun die jQuery:

var atLeastOneIsChecked = $('#checkArray:checkbox:checked').length > 0;
//there should be no space between identifier and selector

// or, without the container:

var atLeastOneIsChecked = $('input[name="chk[]"]:checked').length > 0;
Kommentare (5)
$('#checkbox').is(':checked'); 

Der obige Code gibt true zurück, wenn das Kontrollkästchen markiert ist, und false, wenn nicht.

Kommentare (4)

Alle folgenden Methoden sind nützlich:

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

$('#checkbox').prop('checked')

$('#checkbox')[0].checked

$('#checkbox').get(0).checked

Es wird empfohlen, dass DOMelement oder inline "this.checked" vermieden werden sollte, stattdessen sollte jQuery on-Methode als Ereignis-Listener verwendet werden.

Kommentare (0)

jQuery-Code, um zu prüfen, ob das Kontrollkästchen markiert ist oder nicht:

if($('input[name="checkBoxName"]').is(':checked'))
{
  // checked
}else
{
 // unchecked
}

Alternativ:

if($('input[name="checkBoxName"]:checked'))
{
    // checked
}else{
  // unchecked
}
Kommentare (4)

Das wichtigste Konzept, das man sich über das geprüfte Attribut merken sollte, ist

dass es nicht der angekreuzten Eigenschaft entspricht. Das Attribut

entspricht tatsächlich der Eigenschaft defaultChecked und sollte verwendet werden

nur um den Anfangswert des Ankreuzfeldes zu setzen. Das angekreuzte Attribut

Wert ändert sich nicht mit dem Status des Ankreuzfeldes, während der

checked-Eigenschaft tut dies. Daher ist der Cross-Browser-kompatible Weg zu

bestimmen, ob ein Ankreuzfeld angekreuzt ist, um die Eigenschaft

Alle unten aufgeführten Methoden sind möglich

elem.checked 

$(elem).prop("checked") 

$(elem).is(":checked") 
Kommentare (0)

Sie können diesen Code verwenden,

if($("#checkboxId").is(':checked')){
     // Code in the case checkbox is checked.
} else {
     // Code in the case checkbox is NOT checked.
}
Kommentare (0)

Gemäß der jQuery [Dokumentation][1] gibt es folgende Möglichkeiten zu prüfen, ob ein Kontrollkästchen markiert ist oder nicht. Betrachten wir zum Beispiel ein Kontrollkästchen (Check Working [jsfiddle][2] mit allen Beispielen)

<input type="checkbox" name="mycheckbox" id="mycheckbox" />
<br><br>
<input type="button" id="test-with-checked" value="Test with checked" />
<input type="button" id="test-with-is" value="Test with is" />
<input type="button" id="test-with-prop" value="Test with prop" />

Beispiel 1 - Mit angekreuzt

$("#test-with-checked").on("click", function(){
    if(mycheckbox.checked) {
        alert("Checkbox is checked.");
    } else {
        alert("Checkbox is unchecked.");
    }
}); 

Beispiel 2 - Mit jQuery ist, ANMERKUNG - :checked

var check;
$("#test-with-is").on("click", function(){
    check = $("#mycheckbox").is(":checked");
    if(check) {
        alert("Checkbox is checked.");
    } else {
        alert("Checkbox is unchecked.");
    }
}); 

Beispiel 3 - Mit jQuery-Prop

var check;
$("#test-with-prop").on("click", function(){
    check = $("#mycheckbox").prop("checked");
    if(check) {
         alert("Checkbox is checked.");
    } else {
        alert("Checkbox is unchecked.");
    }
}); 

Arbeit überprüfen [jsfiddle][2]

[1]: http://api.jquery.com/prop/#prop1 [2]: http://jsfiddle.net/subodhghulaxe/LvQXE/12/

Kommentare (0)

Sie können dies versuchen:

<script>
function checkAllCheckBox(value)
{
   if($('#select_all_').is(':checked')){
   $(".check_").attr ( "checked" ,"checked" );
    }
    else
    {
        $(".check_").removeAttr('checked');
    }

 }

</script>
<input type="checkbox" name="chkbox" id="select_all_" value="1" />

<input type="checkbox" name="chkbox" class="check_" value="Apples" />
<input type="checkbox" name="chkbox" class="check_" value="Bananas" />
<input type="checkbox" name="chkbox" class="check_" value="Apples" />
<input type="checkbox" name="chkbox" class="check_" value="Bananas" />
Kommentare (1)

Sie können einen der folgenden empfohlenen Codes per Jquery verwenden.

if ( elem.checked ) {};
if ( $( elem ).prop( "checked" ) ) {};
if ( $( elem ).is( ":checked" ) ) {};
Kommentare (0)

Ich weiß, dass die OP Jquery will, aber in meinem Fall war reines JS die Antwort. Wenn also jemand wie ich hier ist und keine Jquery hat oder sie nicht verwenden will - hier ist die Antwort von JS:

document.getElementById("myCheck").checked

Sie gibt true zurück, wenn die Eingabe mit der ID myCheck geprüft wird, und false, wenn sie nicht geprüft wird.

So einfach ist das.

Kommentare (1)

Sie können es einfach so machen;

[Working Fiddle][1]

HTML

<input id="checkbox" type="checkbox" />

jQuery

$(document).ready(function () {
    var ckbox = $('#checkbox');

    $('input').on('click',function () {
        if (ckbox.is(':checked')) {
            alert('You have Checked it');
        } else {
            alert('You Un-Checked it');
        }
    });
});

oder noch einfacher;

$("#checkbox").attr("checked") ? alert("Checked") : alert("Unchecked");

Wenn das "Ankreuzfeld" angekreuzt ist, gibt es "wahr" zurück, andernfalls "undefiniert".

[1]: http://jsfiddle.net/aash1010/fx7su2rp/2/

Kommentare (1)

Einfache Demo zum Überprüfen und Setzen eines Kontrollkästchens.

[jsfiddle](http://jsfiddle.net/eUK4v/ "dieser Text erscheint, wenn Sie mit der Maus über") fahren!

$('.attr-value-name').click(function() {
    if($(this).parent().find('input[type="checkbox"]').is(':checked'))
    {
        $(this).parent().find('input[type="checkbox"]').prop('checked', false);
    }
    else
    {
        $(this).parent().find('input[type="checkbox"]').prop('checked', true);
    }
});
Kommentare (0)

Nur um zu sagen, dass in meinem Beispiel die Situation ein Dialogfeld war, das dann vor dem Schließen des Dialogs das Kontrollkästchen überprüft hat. Keines der obigen und https://stackoverflow.com/questions/901712/how-do-i-check-if-a-checkbox-is-checked?page=1&tab=active#tab-top und https://stackoverflow.com/questions/7960208/jquery-if-checkbox-is-checked schienen auch nicht zu funktionieren.

Am Ende

<input class="cb" id="rd" type="checkbox">
<input class="cb" id="fd" type="checkbox">

var fd=$('.cb#fd').is(':checked');
var rd= $('.cb#rd').is(':checked');

Dies funktionierte, indem die Klasse und dann die ID aufgerufen wurde. und nicht nur die ID. Es kann daran liegen, dass die verschachtelten DOM-Elemente auf dieser Seite das Problem verursachen. Die Problemumgehung war oben beschrieben.

Kommentare (0)

Tatsächlich sind laut jsperf.com die DOM-Operationen am schnellsten, dann $().prop() gefolgt von $().is()!

Hier sind die Syntaxen :

var checkbox = $('#'+id);
/* OR var checkbox = $("input[name=checkbox1]"); whichever is best */

/* The DOM way - The fastest */
if(checkbox[0].checked == true)
   alert('Checkbox is checked!!');

/* Using jQuery .prop() - The second fastest */
if(checkbox.prop('checked') == true)
   alert('Checkbox is checked!!');

/* Using jQuery .is() - The slowest in the lot */
if(checkbox.is(':checked') == true)
   alert('Checkbox is checked!!');

Ich persönlich bevorzuge .prop(). Im Gegensatz zu .is() kann es auch zum Setzen des Wertes verwendet werden.

1:

Kommentare (0)

So etwas kann helfen

togglecheckBoxs =  function( objCheckBox ) {

    var boolAllChecked = true;

    if( false == objCheckBox.checked ) {
        $('#checkAll').prop( 'checked',false );
    } else {
        $( 'input[id^="someIds_"]' ).each( function( chkboxIndex, chkbox ) {
            if( false == chkbox.checked ) {
                $('#checkAll').prop( 'checked',false );
                boolAllChecked = false;
            }
        });

        if( true == boolAllChecked ) {
            $('#checkAll').prop( 'checked',true );
        }
    }
}
Kommentare (0)

Für Kontrollkästchen mit einer ID


<input id="id_input_checkbox13" type="checkbox">
Kommentare (0)

Kontrollkästchen Umschalten markiert

$("#checkall").click(function(){
    $("input:checkbox").prop( 'checked',$(this).is(":checked") );
})
Kommentare (0)

Seit it's Mitte 2019 und jQuery tritt manchmal hinter Dingen wie VueJS, React usw. zurück. Here's eine reine Vanille Javascript onload Hörer Option:

<script>
  // Replace 'admincheckbox' both variable and ID with whatever suits.

  window.onload = function() {
    const admincheckbox = document.getElementById("admincheckbox");
    admincheckbox.addEventListener('click', function() {
      if(admincheckbox.checked){
        alert('Checked');
      } else {
        alert('Unchecked');
      }
    });
  }
</script>
Kommentare (0)

Mit diesem Code können Sie markieren, ob mindestens ein Ankreuzfeld in verschiedenen Ankreuzfeldgruppen oder aus mehreren Ankreuzfeldern markiert ist oder nicht. Auf diese Weise können Sie nicht verlangen, dass IDs oder dynamische IDs entfernt werden. Dieser Code funktioniert mit den gleichen IDs.

Verweis [Link][1]

Check Box 2
    <input type="checkbox" name="checkbox2" id="checkbox21" value=ck1 /> ck1<br />
    <input type="checkbox" name="checkbox2" id="checkbox22" value=ck2 /> ck2<br />

Check Box 3
    <input type="checkbox" name="checkbox3" id="checkbox31" value=ck3 /> ck3<br />
    <input type="checkbox" name="checkbox3" id="checkbox32" value=ck4 /> ck4<br />

<script>
function checkFormData() {
    if (!$('input[name=checkbox2]:checked').length > 0) {
        document.getElementById("errMessage").innerHTML = "Check Box 2 can not be null";
        return false;
    }
    if (!$('input[name=checkbox3]:checked').length > 0) {
        document.getElementById("errMessage").innerHTML = "Check Box 3 can not be null";
        return false;
    }
    alert("Success");
    return true;
}
</script>

[1]: http://34codefactory.blogspot.in/2017/12/at-least-one-checkbox-is-checked-from.html

Kommentare (1)