|
|
|
|
SAlUt,
var cases = document.formulaire.choix;
var i;
for(i=0; i<cases.length; i++) {
alert(cases[i].checked);
}
Ici on a récupéré dans la variable "cases" un tableau de Checkbox. Le premier indice commence à 0 et la propriété "length" permet de connaître le nombre de cases à cocher. La propriété "checked" quant à elle permet de déterminer si la case a été cochée. Si elle l'est, comme tu es dans une boucle avec un cmpteur (ici "i") tu peux connaître sa position. Pour que cet exemple soit cohérent, il faut que les <input type="checkbox" /> portent un attribut name="choix" et qu'ils soient englobés dans un <form name="formulaire">. |
Ta question, identique au problème initial, trouve sa réponse dans mon premier post (et en plus dans ta dernière question). Si tu récupères la valeur d'une checkbox en spécifiant l'indice, c'est logique que cet indice représente aussi l'indice de la case. Comme je t'ai dit, il faut que tes input ayent la même valeur d'attribut name, tu n'as pas à les désigner par leur id (au passage obligatoirement différent pour chaque input).
<form name="f">
<input type="checkbox" name="politesse" id="poli" value="je dis merci" />Merciiiiii
<input type="checkbox" name="politesse" id="impoli" value="je ne dis pas merci" />Et comment on fait ??!!
</form>
Maintenant avec ça, faire document.f.politesse[1] te prend la deuxième case (on commence à compter à 0 j'ai dit) et c'est ce "1" que tu passeras en argument à ta fonction. Si à ça tu adaptes le bout de code de ma première réponse, c'est grâce au compteur "i" que tu connaîtras la position (l'indice).
var cases = document.f.politesse;
var indice;
for(indice=0; indice<cases.length; indice++) {
if(cases[indice].checked) {
alert("La case n° " + (indice + parseInt(1)) + " est cochée");
//appel de la fonction avec indice en argument, qui représente la position de la checkbox dans la liste
}
}
|
T'as pas comrpis le probleme. j'aimerai lorsque je clique sur une case, directement recupérer son indice ou bien valeur et le passer comme paramétre à une fonction. l'indice de la case qui a été coché va me permettre de faire les testes que je veut !!
|
Haaaaaaaaaaaaan mais fallait le dire tout de suite :-p
function cliqueBox(box) {
alert("La valeur de la case cliquée est \"" + box.value + "\"");
var politesses = document.f.politesse;
var position = 0;
while(i<politesses.length && politesses[i]!=box) {
i++ ;
}
position = i+1;
alert("Sa position vaut " + position);
}
Ainsi chaque input ressemblera à <input type="checkbox" name="politesse" id="poli" value="je dis merci" onclick="cliqueBox(this)" />Merciiiiii mais <input type="checkbox" name="politesse" id="impoli" value="je ne dis pas merci" onclick="cliqueBox(this)" />T'as rien compris !!!! PS : Ce code est truffé d'un message subliminal :roll: 8-} 8-) |
Bonjour,
|
Maintenant en lisant un peu de documents sur ce taglib, j'en comprends que ça génère un tableau "items" qui représente la liste des valeurs des checkbox au grand complet et un tableau "selecteditems" qui reprend la liste des items sélectionnés et rien d'autre.
|