Bonjour,
J'essaye de transmettre à une fonction js des valeurs à partir d'un nombre variable de checkbox avec des ID générés dynamiquement dans une boucle xsl. Pour générer les ID, j'utilise une lettre suivie de "position()", dans l'idée de pouvoir les reconstruire ensuite. Après la boucle, je transmet le nombre total de checkbox à ma fonction, qui est censée récupérer la valeur de chaque checbox cochée pour l'utiliser dans un appel au serveur ensuite. Le problème est que je n'arrive plus à accéder les valeurs des checkbox cochées en reconstruisant leur ID dans la fonction js...
La partie xsl:
<xsl:for-each select="/root/response/record">
<tr id="{uuid}">
<td class="padded"><input type="checkbox" id="a{position()}" value="uuid}"></input></td>
</tr>
</xsl:for-each>
<xsl:variable name="nb" select="count(/root/response/record)"/>
<button class="content" onclick="get_all({$nb})"><xsl:value-of select="NB"/></button>
La fonction (qui fonctionne dans l'état):
function get_all (c) {if (a1.checked) alert('Y: '+a1.value);}
A la place de alert il faut d'autres actions. Je pensais faire une boucle "for" de 1 à "c" dans la fonction, afin de tester tous les checkbox, tout en reconstruisant les ID d'origine (avec "a" + le compteur de boucle). Le problème est que je n'arrive pas à reconstruire un ID qui marche dans ID.cheked... J'ai tout essayé, impossible de former "ID" avec une formule de type ("a"+counter).checked. Il n'y a que l'appel complet "a1.checked" qui fonctionne, aucune autre construction complète de "a1" ne fonctionne...
Y'a t-il une solution ?
Merci
Partager