Récupération de valeur html avec Javascript

Eckmoule Messages postés 4 Date d'inscription lundi 4 août 2008 Statut Membre Dernière intervention 21 août 2008 - 21 août 2008 à 19:32
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.

1 réponse

the_wwt Messages postés 177 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 16 janvier 2009 1
22 août 2008 à 10:43
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é.
            });
        }
    }
);
0
Rejoignez-nous