Selection dans un tableau [Résolu]

Signaler
Messages postés
8
Date d'inscription
lundi 6 octobre 2008
Statut
Membre
Dernière intervention
20 novembre 2008
-
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
-
Bonjour,
j'ai une fonction qui sert a changer la couleur du <tr> quand on click dessu, et colorie tout les autres <tr> avec un autre couleur c un genre de selection j'imagine qu'il doit y avoir plus propre comme methode mais bon voila mon code j'utilise prototype l'id de ma table est "table_db" ma fonction fonctionne mais j'ai un msg d'erreur dans mon debugeur :
------> trtr[i].setStyle is not a function. <------
donc comment ca se fait qu'on me disent que ce n'est pas une fonction alors qu'elle fait le boulot correctement (faut dier que meme quand ca marche les msg d'erreur m'enervent)
PS: si y'a une meilleur methode je suis preneur

function selectTr(objet){
    objet.style.backgroundColor="green";
    var trtr = $('table_db').getElementsByTagName('tr');
        for (i in trtr){
            if (trtr[i] != objet)
            trtr[i].setStyle({backgroundColor: "#f0fff0"});
           
    }
   
 }

3 réponses

Messages postés
8
Date d'inscription
lundi 6 octobre 2008
Statut
Membre
Dernière intervention
20 novembre 2008

Merci pour la réponse j'ai améliorer le code et celui la ne m'affiche pas de messages d'erreur:

function selectTr(objet){
    $$('#table_db tr').each(function(s) {
        s.setStyle({backgroundColor: "#f0fff0"})});
    objet.style.backgroundColor="green";
 
 }
par contre la methode direct m'interesse tjrs. :)
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
bonjour,

c'est assez simple à faire "directement",
mais avec prototype, tu vas devoir attendre qu'un connaisseur passe par ici
ce qui ne saurait tarder....

Cordialement

          [mon Site] [M'écrire]  Bul         
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
aller.....

    <table id="toto">
        ----, l1 c1</td>l1 c2,
        ----
l2 c1, l2 c2,
        ----
l3 c1, l3 c2,
   

    <script>
        var t=document.getElementById("toto");
        var p=0;
        for ( var l=0; l<t.rows.length; l++ )
        {   t.rows[l].onclick=function()   
            {   t.rows[p].style.backgroundColor="transparent";
                p=this.rowIndex;
                t.rows[p].style.backgroundColor="#FFFF00";
            }
        }
    </script>   

</td></tr></tbody></table>
brut de fonderie. on peut largement améliorer ( doux euphémisme )

          [mon Site] [M'écrire]  Bul