Récupération de valeur html avec Javascript

Messages postés
4
Date d'inscription
lundi 4 août 2008
Statut
Membre
Dernière intervention
21 août 2008
- - Dernière réponse : the_wwt
Messages postés
177
Date d'inscription
jeudi 5 octobre 2006
Statut
Membre
Dernière intervention
16 janvier 2009
- 22 août 2008 à 10:43
Bonjour tout le monde,


Je vais tenter d'expliquer mon soucis du mieux possible. J'ai une liste
de lignes comprenant plusieurs valeurs (Prix, temps, ect) résultant
d'une requête sql. Je voudrais pouvoir mettre en place un système de
filtre dynamique sur ces différentes valeurs grâce à Javascript. Je
vais tenter d'illustrer par un exemple simplifié :

Le html

[...]





[...]


50

10



150

30


[...]


Admettons que je veuille faire disparaitre à l'événement click sur la
checkbox correspondante les lignes avec un prix supérieur à 100.


Le javascript :

function Price(){

    if(document.getElementById("Check_Price").checked==true)

    {

          $("div.Line").each(function() {

                    //Ici il me faudrait donc tester la valeurs de trouvant dans la div class div de la ligne courante.

                   //Ou alors dois-je mettre des éléments hidden avec
les valeurs de la ligne que je pourrais récupérer en Javascript ?

          });

    }

    else

    {

           $("div.Line").each(function() {

                  $(this).show(); //On rend tout visible si la case n'est pas coché.

            });

    }

}


Voila il est possible que je ne sois pas du tout sur la bonne voie au quel cas se serais simpa de me le signaler ^^


Merci d'avance.
Afficher la suite 

1 réponse

Messages postés
177
Date d'inscription
jeudi 5 octobre 2006
Statut
Membre
Dernière intervention
16 janvier 2009
1
0
Merci
Bonjour,
respect à toi tu utilises prototype...
Si tu as des soucis la documentation de l'API est vraiment très riche:
http://www.prototypejs.org/api

Je crois que tu confond $ et $$:
<li>$ Récupère un élément html unique en fonction de son id</li><li>$$ est un sélecteur à la manière de css</li><li>Dans ton cas, $$("div.Line") te renvoireras toutes les div dont la classe css est Line.</li>Fait attention tu as mis un "id" au lieu d'une "class" pour les éléments div de type "Temps".
Pour ton exemple le code serait donc:
$("Check_Price").observe("click",
    function {
        if($("Check_Price").checked)
        {
          $$("div.Line").each(function( e ) {
            e.select("div.Price").each( function( child ){
                var price = parseInt( child.innerHTML );
                if( price > 100 ){
                    e.hide();
                }
            });
          });
        }
        else
        {
           $("div.Line").each(function(e) {
              e.show(); //On rend tout visible si la case n'est pas coché.
            });
        }
    }
);
Commenter la réponse de the_wwt