Frage Überprüfen Sie, ob das Kontrollkästchen mit jQuery aktiviert ist


Wie kann ich überprüfen, ob eine Checkbox in einem Checkbox-Array mit der ID des Checkbox-Arrays überprüft wird?

Ich benutze den folgenden Code, aber es gibt immer die Anzahl der Checkboxes unabhängig von der ID zurück.

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

  if (checked == 0) {
    return false;
  } else {
    return true;
  }
}

943
2018-02-05 00:23


Ursprung


Antworten:


IDs müssen in Ihrem Dokument eindeutig sein, also Sie sollte nicht mach das:

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

Werfen Sie stattdessen die ID auf und wählen Sie sie dann anhand ihres Namens oder eines übergeordneten Elements aus:

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

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

Und jetzt 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;

574
2018-02-05 00:31



$('#' + id).is(":checked")

Das wird, wenn das Kontrollkästchen aktiviert ist.

Für ein Array von Kontrollkästchen mit demselben Namen können Sie die Liste der überprüften Elemente abrufen, indem Sie:

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

Dann, um sie zu durchlaufen und zu sehen, was überprüft wird, können Sie tun:

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

Um zu ermitteln, wie viele überprüft werden, können Sie Folgendes tun:

$boxes.length;

1689
2018-02-05 00:24



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

Der obige Code gibt true zurück, wenn das Kontrollkästchen aktiviert ist, oder false, wenn dies nicht der Fall ist.


240
2018-05-31 09:37



Alle folgenden Methoden sind nützlich:

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

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

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

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

Es wird empfohlen, DOMelement oder Inline "this.checked" zu vermeiden, stattdessen sollte jQuery on method als Event Listener verwendet werden.


79
2017-07-13 16:25



Das wichtigste zu beachtende Konzept für das geprüfte Attribut ist   dass es nicht der geprüften Eigenschaft entspricht. Das Attribut   entspricht eigentlich der defaultChecked-Eigenschaft und sollte verwendet werden   nur um den Anfangswert des Kontrollkästchens zu setzen. Das geprüfte Attribut   Wert ändert sich nicht mit dem Status des Kontrollkästchens, während der   Überprüfte Eigenschaft tut es. Daher ist der Cross-Browser-kompatible Weg zu   Bestimmen Sie, ob ein Kontrollkästchen aktiviert ist, um die Eigenschaft zu verwenden

Alle folgenden Methoden sind möglich

elem.checked 

$(elem).prop("checked") 

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

57
2017-07-09 06:40



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

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

Alternative:

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

57
2017-10-04 10:06



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

32
2017-10-07 14:26



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" />

27
2017-07-11 08:43



Laut der jQuery Dokumentation Es gibt folgende Möglichkeiten zu prüfen, ob ein Kontrollkästchen aktiviert ist oder nicht. Betrachten wir zum Beispiel eine Checkbox (Check Working jsfiddle 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 geprüft

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

Beispiel 2 - Mit jQuery ist, HINWEIS -: markiert

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.");
    }
}); 

Überprüfen Sie das Arbeiten jsfiddle 


24
2018-02-25 15:41



Sie können einen der folgenden empfohlenen Codes von jquery verwenden.

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

20
2018-02-17 13:02