Selection dans un tableau

Résolu
saltwater08 Messages postés 8 Date d'inscription lundi 6 octobre 2008 Statut Membre Dernière intervention 20 novembre 2008 - 20 nov. 2008 à 11:16
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 - 20 nov. 2008 à 12:14
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

saltwater08 Messages postés 8 Date d'inscription lundi 6 octobre 2008 Statut Membre Dernière intervention 20 novembre 2008
20 nov. 2008 à 11:56
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. :)
3
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
20 nov. 2008 à 11:53
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         
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
20 nov. 2008 à 12:14
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         
0
Rejoignez-nous