Wie kann ich mit jQuery die aktivierten Kontrollkästchenwerte abrufen und sofort in einen Textbereich einfügen?
Genau wie dieser Code:
<html>
<head>
</head>
<body>
<div id="c_b">
<input type="checkbox" value="one_name" checked>
<input type="checkbox" value="one_name1">
<input type="checkbox" value="one_name2">
</div>
<textarea id="t"></textarea>
</body>
</html>
Wenn das id="c_d"
von Ajax aktualisiert wird , funktioniert der folgende Code von altCognito nicht. Gibt es eine gute Lösung?
Antworten:
Hier ist eine, die funktioniert ( siehe Beispiel ):
Aktualisieren
Einige Monate später wurde eine weitere Frage gestellt, wie die oben genannten Funktionen bei Änderungen der ID weiter funktionieren können. Die Lösung besteht darin, die Funktion updateTextArea einer generischen Funktion zuzuordnen, die CSS-Klassen verwendet, und die Live-Funktion zu verwenden, um das DOM auf diese Änderungen zu überwachen.
quelle
$(document).on("click", "#c_b input", updateTextArea);
stattdessen, um Ajax'y-Probleme zu umgehen.$('#c_b:checked')
(Betonung des Abstands)?Sie können auch alle ausgewählten Kontrollkästchen in einer durch Kommas getrennten Zeichenfolge zurückgeben. Dies erleichtert Ihnen auch das Senden als Parameter an SQL
Hier ist ein Beispiel, das alle ausgewählten Kontrollkästchenwerte zurückgibt, die den Namen "chkboxName" in einer durch Kommas getrennten Zeichenfolge haben
Und hier ist das Javascript
Hier ist das HTML-Beispiel
quelle
Ihre Frage ist ziemlich vage, aber ich denke, das ist was Sie brauchen:
Edit: Oh, okay ... los geht's ... Du hattest vorher noch keinen HTML-Code. Wie auch immer, ja, ich dachte, Sie wollten den Wert in einen Textbereich einfügen, wenn darauf geklickt wird. Wenn Sie möchten, dass die Werte der aktivierten Kontrollkästchen beim Laden der Seite in den Textbereich eingefügt werden (möglicherweise mit einer schönen Komma-Trennung), ist dies so einfach wie:
Bearbeiten 2 Wie die Leute es getan haben, können Sie dies auch tun, um die lange Auswahl zu verkürzen, die ich geschrieben habe:
... Ich habe diese Abkürzung total vergessen. ;)
quelle
Das funktioniert perfekt für mich:
Danke Mohamed ElSheikh
quelle
Vielen Dank an altCognito, Ihre Lösung hat geholfen. Wir können dies auch tun, indem wir den Namen der Kontrollkästchen verwenden:
quelle
Das Folgende kann nützlich sein, da ich hier nach einer etwas anderen Lösung gesucht habe. Mein Skript musste die Eingabeelemente automatisch durchlaufen und ihre Werte zurückgeben (für die Funktion jQuery.post ()). Das Problem bestand darin, dass Kontrollkästchen ihre Werte unabhängig vom aktivierten Status zurückgaben. Das war meine Lösung:
Verwendung:
Wenn das angegebene Eingabefeld ein Kontrollkästchen ist, gibt die Funktion input_val nur dann einen Wert zurück, wenn sie aktiviert ist. Für alle anderen Elemente wird der Wert unabhängig vom aktivierten Status zurückgegeben.
quelle
Hier ist eine Alternative für den Fall, dass Sie den Wert in einer Variablen speichern müssen:
(map () gibt ein Array zurück, das ich handlicher finde als der Text im Textbereich).
quelle
quelle
quelle
quelle
Wie auch immer, Sie brauchen wahrscheinlich so etwas:
Dadurch wird der Wert des ersten aktivierten Kontrollkästchens auf der Seite abgerufen und in den Textbereich mit eingefügt
id='textarea'
.Beachten Sie, dass Sie in Ihrem Beispielcode die Kontrollkästchen in ein Formular einfügen sollten.
quelle
is
gibt einen booleschen Wert zurück, ein boolescher Wert hat keineval
Methode.Ein viel einfacherer und kürzerer Weg, den ich benutze, um dasselbe zu erreichen, indem ich die Antwort aus einem anderen Beitrag verwende, ist wie folgt:
Ursprünglich wurden die Städte aus einer MySQL-Datenbank abgerufen und in PHP während der Schleife wiederholt:
Mit dem obigen jQuery-Code erhalte ich jetzt alle city_id-Werte und sende sie mit $ .get (...) an die Datenbank zurück.
Dies hat mein Leben so einfach gemacht, da der Code jetzt voll dynamisch ist. Um weitere Städte hinzuzufügen, muss ich lediglich weitere Städte in meine Datenbank aufnehmen, ohne dass PHP- oder jQuery-Probleme auftreten müssen.
quelle
Ich hatte ein ähnliches Problem und habe es anhand der obigen Beispiele gelöst:
quelle
Probier diese..
quelle
Wenn Sie den Wert eines Kontrollkästchens sofort einfügen möchten, während es aktiviert wird, sollte dies für Sie funktionieren:
quelle