IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

$.each retourne l'ensemble du texte


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2011
    Messages
    33
    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 : 33
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    Piece1<li>Equipement 1</li><li>Equipement 2</li><li>Equipement3</li>
    Comment je peux faire pour n'afficher que l'ul ?

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    tu convertis le retour en texte ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 - Mon Blog 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

    Venez sur le Chat de Développez !

  3. #3
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Belgique

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

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Bonsoir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    });

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    +1 Spaffy et Daniel...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

Discussions similaires

  1. Réponses: 4
    Dernier message: 08/04/2013, 12h59
  2. Réponses: 4
    Dernier message: 27/01/2010, 14h38
  3. Procédure stockée retournant un ensemble de tuples
    Par sebpern dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 23/10/2009, 14h37
  4. Fonction, comment retourner un ensemble d'enregistrement ?
    Par berceker united dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 18/06/2006, 02h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo