Changement de couleur apres activation d'une check box

Signaler
Messages postés
5
Date d'inscription
mardi 11 février 2003
Statut
Membre
Dernière intervention
22 mai 2003
-
Messages postés
7
Date d'inscription
vendredi 11 avril 2003
Statut
Membre
Dernière intervention
28 septembre 2011
-
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

Messages postés
890
Date d'inscription
lundi 8 avril 2002
Statut
Membre
Dernière intervention
29 juillet 2004
12
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
Messages postés
7
Date d'inscription
vendredi 11 avril 2003
Statut
Membre
Dernière intervention
28 septembre 2011

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... :-/
Messages postés
7
Date d'inscription
vendredi 11 avril 2003
Statut
Membre
Dernière intervention
28 septembre 2011

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';
}
}