Ich habe folgendes:
$(document).ready(function()
{
$("#select-all-teammembers").click(function() {
$("input[name=recipients\\[\\]]").attr('checked', true);
});
});
Ich möchte, dass id="select-all-teammembers"
beim Klicken zwischen aktiviert und deaktiviert umgeschaltet wird. Ideen? das sind nicht Dutzende von Codezeilen?
jquery
checkbox
jquery-selectors
toggle
Ein Lehrling
quelle
quelle
$('input[type=checkbox]').trigger('click');
Das von @ 2astalavista unten erwähnte ist prägnanter und löst auch das "change" -Ereignis aus.quelle
Ich weiß, dass dies alt ist, aber die Frage war etwas mehrdeutig, da das Umschalten bedeuten kann, dass jedes Kontrollkästchen seinen Status umschalten sollte, was auch immer das ist. Wenn Sie 3 aktiviert und 2 deaktiviert haben, werden beim Umschalten die ersten 3 deaktiviert und die letzten 2 aktiviert.
Aus diesem Grund funktioniert keine der hier aufgeführten Lösungen, da alle Kontrollkästchen denselben Status haben, anstatt den Status jedes Kontrollkästchens umzuschalten. Doing
$(':checkbox').prop('checked')
auf viele Kontrollkästchen gibt die logische UND - Verknüpfung zwischen allen.checked
binären Eigenschaften, dh wenn eine von ihnen nicht markiert ist, ist der zurückgegebene Wertfalse
.Sie müssen verwenden,
.each()
wenn Sie tatsächlich jeden Kontrollkästchenstatus umschalten möchten, anstatt alle gleich zu machen, zBeachten Sie, dass Sie
$(this)
den Handler nicht benötigen, da die.checked
Eigenschaft in allen Browsern vorhanden ist.quelle
Hier ist ein anderer Weg, den Sie wollen.
quelle
Ich denke, es ist einfacher, nur einen Klick auszulösen:
quelle
Der beste Weg, den ich mir vorstellen kann.
oder
oder
quelle
Seit jQuery 1.6 können Sie
.prop(function)
den aktivierten Status jedes gefundenen Elements umschalten:quelle
Verwenden Sie dieses Plugin:
Dann
quelle
Angenommen, es ist ein Bild, das das Kontrollkästchen umschalten muss, funktioniert dies für mich
quelle
Das Kontrollkästchen Alles aktivieren sollte unter bestimmten Bedingungen selbst aktualisiert werden. Versuchen Sie, auf "# Alle Teammitglieder auswählen" zu klicken , deaktivieren Sie dann einige Elemente und klicken Sie erneut auf "Alle auswählen" . Sie können Inkonsistenzen sehen. Verwenden Sie den folgenden Trick, um dies zu verhindern:
Übrigens sollten alle Kontrollkästchen DOM-Objekt wie oben beschrieben zwischengespeichert werden.
quelle
Hier ist eine jQuery-Methode zum Umschalten von Kontrollkästchen, ohne ein Kontrollkästchen mit HTML5 und Labels aktivieren zu müssen:
http://www.bootply.com/A4h6kAPshx
quelle
Wenn Sie jede Box einzeln umschalten möchten (oder nur eine Box funktioniert genauso gut):
Ich empfehle die Verwendung von .each (), da es leicht zu ändern ist, wenn verschiedene Dinge passieren sollen, und dennoch relativ kurz und leicht zu lesen ist.
z.B :
Nebenbei bemerkt ... ich bin mir nicht sicher, warum jeder .attr () oder .prop () verwendet, um Dinge zu (un) überprüfen.
Soweit ich weiß, hat element.checked in allen Browsern immer gleich funktioniert?
quelle
;)
quelle
Sie können auch so schreiben
Sie müssen nur das Kontrollkästchen Klickereignis aufrufen, wenn der Benutzer auf die Schaltfläche mit der ID '# checkbox-toggle' klickt.
quelle
Ein besserer Ansatz und UX
quelle
Versuchen:
quelle
Dieser funktioniert sehr gut für mich.
quelle
!
Das grundlegendste Beispiel wäre:
quelle
Sie können dies einfach verwenden
quelle
Meiner Meinung nach ist GigolNet Gigolashvili der richtige Mann, der eine normale Variante vorgeschlagen hat, aber ich möchte eine noch schönere Variante vorschlagen. prüfen Sie
quelle
Das Setzen von 'markiert' oder null anstelle von wahr oder falsch erledigt die Arbeit.
quelle
Dieser Code schaltet das Kontrollkästchen um, wenn Sie auf einen in Webvorlagen verwendeten Kippschalter-Animator klicken. Ersetzen Sie ".onoffswitch-label", wie in Ihrem Code verfügbar. "checkboxID" ist das hier umgeschaltete Kontrollkästchen.
quelle
Nun, es gibt einen einfacheren Weg
Geben Sie Ihren Kontrollkästchen zunächst ein Klassenbeispiel 'id_chk'.
Dann in das Kontrollkästchen, das den Status der Kontrollkästchen 'id_chk' steuert:
<input type='checkbox' onchange='js:jQuery(".id_chk").prop("checked", jQuery(this).prop("checked"))' />
Das ist alles, hoffe das hilft
quelle