Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > Prototype & Script.aculo.us
Prototype & Script.aculo.us Forum d'entraide sur les frameworks Prototype et Script.aculo.us
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 20/06/2011, 13h17   #1
Invité régulier
 
Inscription : février 2009
Messages : 9
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 9
Points : 5
Points : 5
Par défaut Recherche à partir d'un noeud

Bonjour,

Je voulais savoir si il était possible de faire une recherche à partir d'un nœud et non de tout le document comme le fait $('[ID]').

Pour que cela soit plus claire voici un exemple.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
<div>
<ul>
<li>
<input type='text' name='test_1'  id='test_1'/>
<span class='modifier'>Modifier</span>
</li>
<li>
<input type='text' name='test_2'  id='test_2'/>
<span class='modifier'>Modifier</span>
</li>
<li>
<input type='text' name='test_3'  id='test_3'/>
<span class='modifier'>Modifier</span>
</li>
<li>
<input type='text' name='test_4'  id='test_4'/>
<span class='modifier'>Modifier</span>
</li>
</ul>
<div>
Je voudrait récupéré l’élément span 'modifier' du troisième li en commençant ma recherche par le li.
Ce qui pourrait donné un truc du genre [OBJ_LI_PARENT].$$('.modifier)

Je ne sais pas si cela existe ou si vous avez une idée de fonction qui pourrait remplir mon besoin ?

Merci en espérant que j'ai été assez claire.
petitiny est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2011, 14h33   #2
Futur Membre du Club
 
Femme
Développeur Web
Inscription : janvier 2011
Messages : 16
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : janvier 2011
Messages : 16
Points : 18
Points : 18
Il me semble que ceci devrait fonctionner :

Code :
$$('#id_li_parent span.modifier')

http://www.prototypejs.org/api/utility/dollar-dollar
ninog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2011, 15h23   #3
Invité régulier
 
Inscription : février 2009
Messages : 9
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 9
Points : 5
Points : 5
Merci,
cela va fonctionner, mais le problème dans mon cas je n'ai pas d'id sur le LI.
Je récupéré l'objet LI avec un onclick
petitiny est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2011, 16h56   #4
Futur Membre du Club
 
Femme
Développeur Web
Inscription : janvier 2011
Messages : 16
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : janvier 2011
Messages : 16
Points : 18
Points : 18
Ah d'accord, je n'ai pas testé mais je pense qu'avec le code ci-après ça va fonctionner :

Code :
1
2
3
4
5
6
7
[OBJ_LI_PARENT].childElements().each(function(elt))
{
    if(elt.match('span.modifier'))
    {
        // c'est bon c'est cet élément (elt)
    }
};
Le childElements va ramener dans un tableau les éléments enfants du li cliqué (le input et le span), le each boucle sur chacun de ces enfants. Il suffit alors de tester avec match pour sélectionner le span.
ninog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2011, 20h42   #5
Invité régulier
 
Inscription : février 2009
Messages : 9
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 9
Points : 5
Points : 5
Merci de ton aide.
Grâce à ta solution j'ai trouvé la fonction Prototype.Selector.select ce qui me permet de faire une recherche également dans les enfants des enfants...

Code :
1
2
 
Prototype.Selector.select('span.modifier',[OBJ_LI_PARENT])
petitiny est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h27.


 
 
 
 
Partenaires

Hébergement Web