Wie löst man ein Kontrollkästchen-Klickereignis aus, auch wenn es durch Javascript-Code überprüft wird?

Lesezeit: 3 Minuten

Benutzer-Avatar
Jishnu AP

Ich habe viele Kontrollkästchen auf meiner Seite und es gibt ein Kontrollkästchen „Alle auswählen“, das alle Kontrollkästchen aktiviert. Irgendwie möchte ich dieses Klickereignis des Kontrollkästchens emulieren, auch wenn es über die Schaltfläche “Alle auswählen” aktiviert / deaktiviert ist. Wie kann ich es tun?

Benutzer-Avatar
Markus Robinson

Sie können die jQuery verwenden .trigger() Methode. Sehen http://api.jquery.com/trigger/

Z.B:

$('#foo').trigger('click');

  • Du kannst auch einfach anrufen $('#foo').click()was effektiv dasselbe tut.

    – Kevin Babcock

    7. Oktober 2013 um 11:05 Uhr

  • Wie macht man das mit reinem JavaScript?

    – Paulus

    22. März 2015 um 22:05 Uhr

  • erscheint trigger('click') schaltet den aktuellen Wert um. Wenn Sie es nur einstellen möchten, dann stellen Sie es ein checked auf true dann triggerHandler(…) aufrufen stackoverflow.com/questions/10268222/…

    – Rogerpack

    22. April 2017 um 6:51 Uhr

  • Wie genau werden Beiträge wie dieser als korrekt markiert, wenn sie die Verwendung eines Drittanbieters erfordern? Er hat nicht nach einer jQuery-Lösung gefragt.

    – Wancieho

    9. Mai 2019 um 11:27 Uhr

  • @Wancieho Die Frage ist mit ‘jquery’ gekennzeichnet.

    – Mark Robinson

    10. Mai 2019 um 14:23 Uhr

Benutzer-Avatar
Harisch

Überprüfungsstatus abrufen

var checked = $("#selectall").is(":checked");

Dann zum Einstellen

$("input:checkbox").attr("checked",checked);

  • Nicht versucht, dies mit attr wie ich benutze prop Heutzutage, aber diese Methode überprüft nur die Kästchen, sie löst nicht das Klickereignis für jedes hinterher aus

    – Böse Dr

    18. September 2014 um 8:48 Uhr

Sie können verwenden .change() Funktion auch

Z.B:

$('form input[type=checkbox]').change(function() { console.log('hello') });

  • Dies funktioniert bei mir nicht, wenn die Änderung des Kontrollkästchens über Javascript erfolgt.

    – Flimmer

    29. Januar 2020 um 17:19 Uhr

Sie können dies auch verwenden, ich hoffe, Sie können ihnen dienen.

$(function(){
  $('#elements input[type="checkbox"]').prop("checked", true).trigger("change");
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>

<div id="elements">
  <input type="checkbox" id="item-1" value="1"> Item 1 <br />
  <input type="checkbox" id="item-2" value="2" disabled> Item 2 <br /> 
  <input type="checkbox" id="item-3" value="3" disabled> Item 3 <br />
  <input type="checkbox" id="item-4" value="4" disabled> Item 4 <br />
  <input type="checkbox" id="item-5" value="5"> Item 5
</div>

kein gQuery

document.getElementById(‘your_box’).onclick();

Ich habe eine bestimmte Klasse für meine Kontrollkästchen verwendet.

var x = document.getElementsByClassName("box_class");
var i;
for (i = 0; i < x.length; i++) {
    if(x[i].checked) x[i].checked = false;
    else x[i].checked = true;
    x[i].onclick();
   }

Trigger-Funktion von jQuery könnte Ihre Antwort sein.

jQuery-Dokumentation sagt:
Event-Handler, die mit .on() oder einer seiner Shortcut-Methoden verbunden sind, werden ausgelöst, wenn das entsprechende Ereignis eintritt. Sie können jedoch manuell mit der Methode .trigger() ausgelöst werden. Ein Aufruf von .trigger() führt die Handler in derselben Reihenfolge aus, in der sie es tun würden, wenn das Ereignis auf natürliche Weise vom Benutzer ausgelöst würde

Daher sollte die beste einzeilige Lösung sein:

$('.selector_class').trigger('click');

//or

$('#foo').click();

Benutzer-Avatar
Raj Shechar

  $("#gst_show>input").change(function(){

    var checked = $(this).is(":checked");
    if($("#gst_show>input:checkbox").attr("checked",checked)){
      alert('Checked Successfully');
    }

  });

  • KÖNNEN SIE IHREN CODE ERKLÄREN

    – Yilmaz

    19. August 2019 um 3:57 Uhr

  • Ich nenne Spaghetti auf diesem

    – hupe31

    23. Juni um 10:04 Uhr

1159520cookie-checkWie löst man ein Kontrollkästchen-Klickereignis aus, auch wenn es durch Javascript-Code überprüft wird?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy