Changement de couleur apres activation d'une check box

ddyefre Messages postés 5 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 22 mai 2003 - 22 mai 2003 à 17:18
cs_bibos Messages postés 7 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 28 septembre 2011 - 18 nov. 2004 à 12:15
salut !

j'aimerai savoir comment faire ou bien si vous avez des scripts qui me permettrait de changer la couleur d'une ligne lorsque l'utilisateur clique sur la checkbox de cette meme ligne !

exemple:
,
coucou1,
coucou2,

----

>,
coucou3,
coucou4

Donc si l'utilisateur cli sur une checkbox, que toute la ligne change de couleur !
je precise que je veux que l'utilisateur clic que sur la checkbox.
je sais faire lorsqu'il clique sur n'importe quel cellule de la ligne. Moi je veux juste qu'il clic sur la premiere cellule(celle qui contient la checkbox)
s'il y en a un qui sait comment faire, ca m'interesse beaucoup !
ca fait deux jours que je passe mon temps a essayer de piger comment ca marche sur les boite email genre voila ou msn, mais ils ont des fichiers necessaires à leur appli qui sont sur leur serveur et j'y ai pas accès !

merci :)

3 réponses

cs_Duss Messages postés 890 Date d'inscription lundi 8 avril 2002 Statut Membre Dernière intervention 29 juillet 2004 11
22 mai 2003 à 19:11
salut,
il va falloir que tu passes par le dom a mon avis !!
ensuite , le truc c est de reussir a savoir sur quelle ligne se trouve ta check.
tu peux essayer en donnat un id a ta balise tr et en mettant cet id en value de ta checkbox
Duss
0
cs_bibos Messages postés 7 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 28 septembre 2011
17 nov. 2004 à 19:48
Au cas ou pour ceux que ça intérresserait, suffit d'appeller cette fonction sur chaque checkbox par un petit "onclick='changecolor()'"

function changecolor(checkbox)
{
if (checkbox.checked)
checkbox.parentElement.parentElement.style.background="green";
else
checkbox.parentElement.parentElement.style.background="blue";
}

...Mais moi j'ai aussi la fonction pour faire changer la couleur de la ligne au passage de la souris :

function Color(ligne,couleur)
{
if (couleur=="blanc")
ligne.style.background = 'white';
if (couleur=="bleu")
ligne.style.background = 'blue';
}

Appelée sur chaque ligne par :
onMouseOver="Color(this,'blanc');"
onMouseOut="Color(this,'bleu');"

Mais............ je cherche désespérément à les faire cohabiter :-D
A savoir que les lignes ne se colorent pas au passage de la souris, si la checkbox est cochée et que donc, la ligne est déjà colorée d'une autre couleur...

Y a peut-être qqchose avec l'"inverse" de ParentElement : Children ?

Mais j'ai du mal à comprendre comment faire... :-/
0
cs_bibos Messages postés 7 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 28 septembre 2011
18 nov. 2004 à 12:15
Bon bah la solution était toute simple :

function changecolor(checkbox)
{
if (checkbox.checked)
checkbox.parentElement.parentElement.style.background="green";
else
checkbox.parentElement.parentElement.style.background="blue";
}

function Color(ligne,couleur)
{
test = eval(ligne).style.background;
if (test!="green")
{
if (couleur=="blanc")
ligne.style.background = 'white';
if (couleur=="bleu")
ligne.style.background = 'blue';
}
}
0
Rejoignez-nous