Comment utiliser jQuery pour obtenir les valeurs des cases à cocher et les mettre immédiatement dans une zone de texte?
Tout comme ce 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>
Si le id="c_d"
est mis à jour par Ajax , le code ci-dessous d'altCognito ne fonctionne pas. Y a-t-il une bonne solution?
Réponses:
En voici une qui fonctionne ( voir l'exemple ):
Mettre à jour
Un certain nombre de mois plus tard, une autre question a été posée sur la façon de continuer à fonctionner si l'ID change. Eh bien, la solution se résume à mapper la fonction updateTextArea en quelque chose de générique qui utilise des classes CSS et à utiliser la fonction live pour surveiller le DOM pour ces changements.
la source
$(document).on("click", "#c_b input", updateTextArea);
place pour contourner les problèmes ajax'y.$('#c_b:checked')
(accent sur l'espacement)?Vous pouvez également renvoyer toutes les cases à cocher sélectionnées dans une chaîne séparée par des virgules. Cela vous facilitera également la tâche lorsque vous l'enverrez en tant que paramètre à SQL
Voici un exemple qui renvoie toutes les valeurs des cases à cocher sélectionnées qui ont le nom "chkboxName" dans une chaîne séparée par des virgules
Et voici le javascript
Voici l'exemple HTML
la source
Votre question est assez vague mais je pense que c'est ce dont vous avez besoin:
Edit: Oh, d'accord .. voilà ... Vous n'aviez pas le HTML avant. Quoi qu'il en soit, oui, je pensais que vous vouliez mettre la valeur dans une zone de texte lorsqu'elle est cliquée. Si vous voulez que les valeurs des cases à cocher soient mises dans la zone de texte (peut-être avec une belle séparation par des virgules) au chargement de la page, ce serait aussi simple que:
Edit 2 Comme les gens l'ont fait, vous pouvez également le faire pour raccourcir le long sélecteur que j'ai écrit:
... J'ai totalement oublié ce raccourci. ;)
la source
Cela fonctionne parfaitement pour moi:
Merci Mohamed ElSheikh
la source
Merci altCognito, votre solution a aidé. Nous pouvons également le faire en utilisant le nom des cases à cocher:
la source
Ce qui suit peut être utile car je suis arrivé ici à la recherche d'une solution légèrement différente. Mon script devait parcourir automatiquement les éléments d'entrée et devait renvoyer leurs valeurs (pour la fonction jQuery.post ()), le problème était que les cases à cocher renvoyaient leurs valeurs indépendamment de l'état vérifié. C'était ma solution:
Usage:
Si le champ de saisie donné est une case à cocher, la fonction input_val ne renvoie une valeur que si elle est cochée. Pour tous les autres éléments, la valeur est renvoyée quel que soit l'état vérifié.
la source
Voici une alternative au cas où vous auriez besoin d'enregistrer la valeur dans une variable:
(map () renvoie un tableau, que je trouve plus pratique que le texte dans textarea).
la source
la source
la source
la source
Quoi qu'il en soit, vous avez probablement besoin de quelque chose comme ceci:
Cela obtiendra la valeur de la première case cochée sur la page et l'insérera dans la zone de texte avec
id='textarea'
.Notez que dans votre exemple de code, vous devez placer les cases à cocher dans un formulaire.
la source
is
renvoie une valeur booléenne, une valeur booléenne n'a pas deval
méthode.Une manière beaucoup plus facile et abrégée que j'utilise pour accomplir la même chose, en utilisant la réponse d'un autre post, est comme ceci:
À l'origine, les villes sont extraites d'une base de données MySQL et bouclées en PHP en boucle:
Maintenant, en utilisant le code jQuery ci-dessus, j'obtiens toutes les valeurs city_id et je les soumets à la base de données en utilisant $ .get (...)
Cela m'a rendu la vie si facile puisque maintenant le code est entièrement dynamique. Afin d'ajouter plus de villes, tout ce que je dois faire est d'ajouter plus de villes dans ma base de données, et pas de soucis sur PHP ou jQuery.
la source
J'ai eu un problème similaire et voici comment je l'ai résolu en utilisant les exemples ci-dessus:
la source
Essaye celui-là..
la source
Si vous souhaitez insérer immédiatement la valeur d'une case à cocher lors de la vérification, cela devrait fonctionner pour vous:
la source