Dans mon application web, j'ai une série de cases à cocher qui remplissent un champ de texte au-dessus (si plus d'une case est cochée, leurs valeurs apparaissent dans la zone de texte séparées par des virgules) .Javascript - remplir les zones de texte avec la valeur de case à cocher
Ces ensembles de cases à cocher s'affichent sous la forme de lignes dans ma table HTML.
Voici mon code HTML.
<input type="text" id="newContactComment<%=rCount %>" name="newContactComment" size="45">
<input type="checkbox" id="commentText<%=rCount %>" name="commentText" value="<%=c.getComment_text() %>"
onclick="javascript:updateTextArea(<%=rCount%>);">
Et la fonction JS correspondant est comme suit:
function updateTextArea(rCount) {
var allVals = new Array();
$("#contactInfo input['commentText' + rCount]:checked").each(function() {
(allVals).push($(this).val());
});
$("#newContactComment" + rCount).val(allVals);
}
Le RCount variable dans la fonction ci-dessus est le # de la ligne de ma table. En utilisant ce qui précède, je n'obtiens pas le comportement attendu ..
Par ex. Si pour la ligne 1 de ma table, je vérifie chkbox 1 et 2, il est correctement rempli avec les valeurs de ces cases à cocher. Maintenant, pour 2 de ma table, je vérifie seulement chkbox 3, il est rempli avec les valeurs 1,2 et 3 et pas seulement 3 comme je l'espère.
Toute aide sera grandement appréciée.
@TmEllis: Salut, merci pour la réponse. Mais quand j'essaye le code ci-dessus, j'obtiens le message d'erreur 'parID is undefined' dans Firebug. – Pritish
Mise à jour. Essayez ça. –
Eh bien, ce code semble bon jusqu'à la 2ème ligne dernière-à-dire
$("#newContactComment" + rCount).val(allVals);
Comme vous avez changé la valeur de RCount, il n'écrit pas tout à fait au-dessus de la zone de texte checkboxes.But J'ai essayé imprimer le tableau allVals(), et je peux voir les valeurs correctes dans le tableau. Dois-je changer cela en $ ("# newContactComment" + parID) .val (allVals); au lieu ?? – Pritish