Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
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 15/12/2011, 17h32   #1
Invité régulier
 
Homme
Développeur .NET
Inscription : décembre 2011
Messages : 22
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur .NET
Secteur : Bâtiment

Informations forums :
Inscription : décembre 2011
Messages : 22
Points : 9
Points : 9
Par défaut $.each retourne l'ensemble du texte

Bonjour,
Suite à ma précédente discussion, j'ai maintenant une réponse de mon serveur ASP du type :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<div>
    <ul>Piece 1
        <li>Equipement 1</li>
        <li>Equipement 2</li>
        <li>Equipement 3</li>
    </ul>
    <ul>Piece 2
        <li>Equipement 1</li>
        <li>Equipement 2</li>
        <li>Equipement 3</li>
    </ul>
    <ul>Piece 3
        <li>Equipement 1</li>
        <li>Equipement 2</li>
        <li>Equipement 3</li>
    </ul>
</div>
je ne veux afficher que les textes des balises <ul>.
Or, avec mon code, ça me trourne à chaque fois le contenu de la balide <ul> avec les <li>.

Ci-après mon code jQuery :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
            $.ajax({
                type: "POST",
                url: "../WebServices/Equipements.asmx/ListerEquipementsParPiece",
                contentType: "charset=utf-8",
                dataType: "xml",
                complete: function (xhr, result) {
                    if (result != "success") {
                        alert("Not Complete");
                        return;
                    };
                    var response = $(xhr.responseXML).text();
                    $(response).find('group').each(function () {
                        alert($(this).html());
                    });
 
                }
            });
résultat (pour le premier <ul> :
Code :
Piece1<li>Equipement 1</li><li>Equipement 2</li><li>Equipement3</li>
Comment je peux faire pour n'afficher que l'ul ?
jmatys est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2011, 20h45   #2
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 071
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 071
Points : 45 201
Points : 45 201
tu convertis le retour en texte ...

Code :
1
2
3
4
5
6
7
8
9
10
11
12
 $.ajax({
                type: "POST",
                url: "../WebServices/Equipements.asmx/ListerEquipementsParPiece",
                contentType: "charset=utf-8",
                dataType: "xml",
                complete: function (xmldata) {
                    $(xmldata).find('ul').each(function () {
                        alert($(this).html());
                    });
 
                }
            });
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 15/12/2011, 20h52   #3
Rédacteur
 
Avatar de danielhagnoul
 
Homme Daniel Hagnoul
Étudiant perpétuel
Inscription : février 2009
Messages : 3 221
Détails du profil
Informations personnelles :
Nom : Homme Daniel Hagnoul
Âge : 61
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant perpétuel
Secteur : Enseignement

Informations forums :
Inscription : février 2009
Messages : 3 221
Points : 6 767
Points : 6 767
Bonsoir

Citation:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<div>
    <ul>Piece 1
        <li>Equipement 1</li>
        <li>Equipement 2</li>
        <li>Equipement 3</li>
    </ul>
    <ul>Piece 2
        <li>Equipement 1</li>
        <li>Equipement 2</li>
        <li>Equipement 3</li>
    </ul>
    <ul>Piece 3
        <li>Equipement 1</li>
        <li>Equipement 2</li>
        <li>Equipement 3</li>
    </ul>
</div>
Ceci n'est pas un fichier XML, ce n'est même pas un "UL" correct ! Vous chercher un tag "group", que je ne vois nulle part.

FAQ jQuery, voir : http://javascript.developpez.com/faq...ax#AjaxRequest

Exemple de traitement d'un fichier XML :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?xml version="1.0" encoding="UTF-8"?>
<directories>  
    <dir name="1" depth="0">
        <file>
            <name>h _1.JPG</name>
            <source>http://localhost/devMediasService/photos/h _1.JPG</source>
            <size>609612</size>
        </file>
        <file>
            <name>IMG_0206.JPG</name>
            <source>http://localhost/devMediasService/photos/IMG_0206.JPG</source>
            <size>764395</size>
        </file>
    </dir>
    <dir name="ooo" depth="0">
        <file>
            <name>IMG_0220.JPG</name>
            <source>http://localhost/devMediasService/photos/ooo/IMG_0220.JPG</source>
            <size>660493</size>
        </file>
        <file>
            <name>IMG_0228.JPG</name>
            <source>http://localhost/devMediasService/photos/ooo/IMG_0228.JPG</source>
            <size>661391</size>
        </file>
    </dir>
</directories>
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
$.post("XML-1.xml", function(data, textStatus, jqXHR) {
	console.log("succès : ", data, textStatus, jqXHR);
 
	// succès de la transaction, traité le contenu de data
 
	// on peut parcourir les branches de l'objet JavaScrit
	$(data).find("directories").children().each(function(i, item){
		// niveau dir
		console.log( i, item, $(item).attr("name"), $(item).attr("depth") );
 
		$(item).children().each(function(j, jtem){
			//niveau file
			console.log( j, jtem );
 
			$(jtem).children().each(function(k, ktem){
				//niveau inside file
				console.log( k, ktem, $(ktem).text() );
			});
 
		});
	});
 
	// on peut accéder à une information paticulières
	// de plusieurs manières différentes
 
	// le contenu du quatrième (base 0) tag "name"
	console.log( $(data).find("name").eq(3).text() );
 
	// le premier URL (tag "source" fils d'un tag "file") dans le deuxième "dir"
	console.log( $(data).find("dir").eq(1).find("source").eq(0).text() );
 
}, "xml").error(function(jqXHR, textStatus, errorThrown){
	console.log("erreur : ", jqXHR, textStatus, errorThrown);
 
	// échec de la transaction, gèrer la catastrophe
 
}).complete(function(jqXHR, textStatus){
	console.log("terminé : ", jqXHR, textStatus);
 
	// la transaction s'est terminée par un succès ou par un échec
});
__________________

FAQ jQuery

Mon cahier d’exercices sur jQuery & Co

Si un message vous a aidé ou vous semble pertinent, votez pour lui !
danielhagnoul est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2011, 20h55   #4
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 808
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 808
Points : 35 787
Points : 35 787
+1 Spaffy et Daniel...
Code :
var response = $(xhr.responseXML).text();
pourquoi tiens-tu à ce point à rajouter la méthode .text() ???
As-tu au moins vérifié son utilité ?
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h18.


 
 
 
 
Partenaires

Hébergement Web