Wie zeige ich eine Benutzersteuerung, nachdem ich das Kontrollkästchen in einer Checkbox-Liste mit JQuery aktiviert habe.Einfügen eines Benutzersteuerelements nach dem Klicken auf ein Element in der Kontrollkästchenliste mit Jquery
Antwort
Wo möchten Sie die Steuerung anzeigen?
Zuerst entscheiden, wo Sie es wollen zeigen
dann entscheiden, was Sie steuern
Danach zeigen wollen: für
$("#myCheckboxId").click(function(){ /* show the control */});
Diese enge sein sollte, was Sie suchen:
$('#myCheckbox').click(function() {
if($(this).is(':checked')) {
$('#myControl').show();
} else {
$('#myControl').hide();
}
});
Das zeigt das Element mit ID myControl Wenn das Kontrollkästchen aktiviert ist, wird es ausgeblendet, nachdem es deaktiviert wurde.
Wenn Sie verkürzte Ausdrücke wie die ternäre Operator (ich bin unhealthily besessen), könnte man dies in Betracht ziehen:
$('#myCheckbox').click(function() {
$(this).is(':checked') ? $('#myControl').show() : $('#myControl').hide();
});
In bestimmten Situationen kann es vorteilhaft sein, anstatt ein bestehendes Formelement zeigt, , um die Elemente im laufenden Betrieb dem DOM hinzuzufügen. Dann können Sie eine jQuery live event binden, um ein solches Formular zu senden.
$(document).ready(function(){
$("#myCheckbox").click(function(){
$(this).html('<input class="newinput" id="thisinput" type="text" name="thisinput" value="" >');
var update = $('<input name="submit" type="submit" class="update" value="update">');
$(this).next().html(update);
return true;
});
$(".update").live("click", function(){
var thisinput = $("input#thisinput").val();
var url = encodeURI('index.php?thisinput='+thisinput);
window.location = url;
return false;
});
});
In meinem obigen Beispiel habe ich .html() verwendet, um die Eingabeelemente einzufügen. Das überschreibt Ihre Checkbox. Möglicherweise möchten Sie eine andere DOM-Manipulation verwenden, z. B. append, next oder andere.
Es gibt viele verschiedene Möglichkeiten, das Formular unter Verwendung von ajax functions zu senden, und wenn die Elemente bereits vorhanden sind, aber versteckte Elemente sind, dann brauchen Sie nur show effect. Siehe hierzu tutorial on jQuery effects.
Vielen Dank – Greens
Wenn ich die Live-Funktion verwende, bekomme ich einen Fehler, der sagt "Objekt unterstützt diese Eigenschaft oder Methode nicht" – Greens
Diese Funktion wurde in jQuery 1.3 hinzugefügt, stellen Sie sicher, dass Sie eine aktuelle Version haben. – jjclarkson
- 1. jQuery einfügen nach dem letzten Element
- 2. Element vor dem Einfügen mit Jquery entfernen
- 3. Verschieben eines Benutzersteuerelements innerhalb eines anderen Benutzersteuerelements
- 4. Wie Aktualisieren/Aktualisieren DOM-Element nach dem Einfügen von jQuery
- 5. Mit einer verzögerten Aktion nach dem Klicken auf ein Formular
- 6. Simulieren mit jQuery auf select-Element klicken
- 7. JQuery DatePicker-Symbol erscheint nur nach dem Klicken auf Textfeld
- 8. jQuery + Fancybox stoppt nach Klick auf ein bestimmtes Element arbeiten
- 9. Matlab: Element nach Element einfügen?
- 10. jQuery nach Rückruf einfügen?
- 11. Jquery simultanes Element klicken
- 12. Anzeige eines Fotos nach dem Klicken auf eine Schaltfläche
- 13. Wie abonniere ich ein Ereignis eines Benutzersteuerelements
- 14. Anderes Verhalten nach dem Klicken auf Schaltfläche jQuery
- 15. schließen navigation drawer nach dem Klicken auf einen der Artikel
- 16. JQuery - mit .on mit Element einfügen
- 17. Wie erhält man ein Element nach ID, basierend auf dem Link href mit jQuery?
- 18. Ändern einer Verknüpfung href nach dem Klicken mit jQuery
- 19. JQuery Bei dem Klicken mit Daten
- 20. jQuery Fokus auf ein Element, dann ein anderer sofort nach
- 21. Validieren Sie das Formular nach dem Klicken mit jquery validate
- 22. Zeige laden gif nach dem Klicken Formular senden mit jQuery
- 23. Klicken auf ein Element ändert seine Position
- 24. Wie ändere ich ein CSS-Element mit Jquery nach dem Anhängen von JQuery an ein div?
- 25. Verwenden eines Benutzersteuerelements in einer Basisseitenklasse
- 26. JQuery löschen DOM-Element nach dem Ausblenden
- 27. Ein untergeordnetes Element eines angeklickten Ziels in jQuery identifizieren
- 28. jquery absolut positioniertes Element klicken
- 29. Rendern eines Benutzersteuerelements auf eine Zeichenfolge
- 30. Ein Element in ein Tupel einfügen
Ich finde, dass die Verwendung von "ändern" auf Kontrollkästchen macht böse Dinge passieren in IE. Schlechte Dinge wie die Funktion nicht feuern, wenn ich denke, es sollte – mkoryak
Das ist richtig, änderte 'ändern' zu 'klicken Sie auf – karim79
Ich brauche den Benutzer Steuerelement dynamisch aufrufen. – Greens