Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/10/2011, 16h56   #1
Invité de passage
 
Inscription : octobre 2011
Messages : 2
Détails du profil
Informations forums :
Inscription : octobre 2011
Messages : 2
Points : 0
Points : 0
Par défaut selection checkbox et ligne

salut a tous,

dans un tableau je désire changé la couleur d'une ligne et en même temps sélectionné le checkbox correspondant par un seule clic
code js
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/********* colorer une ligne et sélectionner une case lors d'un clic *****/
function tr_select(tr){
var bgcolor = "#FFE8DD";
var change_color = "#940555";
var monform= document.getElementById("myform");
var tr = document.getElementsByTagName("tr");
var td = document.getElementsByTagName("td");
var chk = document.getElementsByName("checkbox[]");
 
for(var i=0;i<chk.length;i++){
if(tr[i]){
k=i;
tr[i+2].style.backgroundColor=change_color;
chk[k].checked=true;
}else{
tr[i+2].style.backgroundColor=bgcolor;
chk[k].checked=false;
}
  }
  }
et le html :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<div id="div1">
<form action="delete_mult.php" method="POST" id='myform'>
<table border=1 align='center' id="montab"><tr><thead><th>id</th><th>titre</th><th>new</th><th>
<input type="checkbox" name="checkbox" id="checkbox" onclick="chksel();" />Check/Uncheck(All)</th></thead></tr>
<?php
while($data =mysql_fetch_array($res)){
/*$id=$data['id'];
$title=$data['title'];
$news=$data['news'];
onmouseover='mover(this);' onmouseout='mout(this);' 
*/
extract($data);
echo "<tr name='tr' class='tr' style='background-color:#edeefd;' onclick='tr_select(this);'>
<td name='td'>$id</td>
<td name='td'>$title</td>
<td name='td'>$news</td>"?>
<td><input type="checkbox" name='checkbox[]' value="<?php echo $id;?>" /></td></tr>
<?php
}
?>
<input type='submit' value='supprimer' name='delete' class='button' onclick='supr();' />
</table></form></div>
si quelqu'un peut bien m'aider !!
Ndirano est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/10/2011, 22h38   #2
Membre habitué
 
Homme Mathias Philippe
Développeur Web
Inscription : septembre 2011
Messages : 75
Détails du profil
Informations personnelles :
Nom : Homme Mathias Philippe
Localisation : Philippines

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2011
Messages : 75
Points : 121
Points : 121
Dans ton html, tu utilises "tr_select(this)" mais tu écrases ensuite la valeur que tu passes dans la fonction.

Ajoutes un id aux TR, par exemple :
Code html :
<tr name='tr' class='tr' style='background-color:#edeefd;' onclick='tr_select();' id='tr_" . $id . "'>

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
function tr_select(id) {
    var i, item, tds, checkbox;
    var trs = document.getElementById("montab").getElementsByTagName("tr");
    var l = trs.length;
 
    for (i = 0; i < l; i++) {
        item = trs[i];
        tds = item.getElementsByTagName("td");
        checkbox = tds[3].getElementsByTagName("input")[0];
        if (item.id !== "tr_" + id) {
            item.style.backgroundColor = "#FFE8DD";
            checkbox.checked = false;
        } else {
            item.style.backgroundColor = "#940555";
            checkbox.checked = true;
        }
    }
}
PS. Indente ton code, c'est illisible là.
PS2. J'ai pas testé mais ça devrait te donner des pistes
MrPringle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2011, 08h11   #3
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 789
Points : 35 789
Il n'y a pas d'attribut name pour les balises <tr> et <td> !

Et merci de respecter Les règles incontournables d'utilisation de ce forum et de poster le code HTML généré (clic droit > code source) et non le code PHP, inutile ici.
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/10/2011, 11h29   #4
Invité de passage
 
Inscription : octobre 2011
Messages : 2
Détails du profil
Informations forums :
Inscription : octobre 2011
Messages : 2
Points : 0
Points : 0
Bonjour,

Merci MrPringle pour votre réponse mais ça ne marche toujours pas

je reçoit le message d'erreur tds[3] undefined
Ndirano est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h04.


 
 
 
 
Partenaires

Hébergement Web