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 :

select liés et retour ajax


Sujet :

jQuery

  1. #1
    Membre éclairé Avatar de pop_up
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 877
    Points : 786
    Points
    786
    Par défaut select liés et retour ajax
    Bonjour,

    Je cherche a essayer de lier deux select entre eux.
    Au changement du premier select, le second doit se mettre à jour.

    Les traitements qui diront quoi afficher dans le second select seront dans un fichier ajax.php qui sera appelé sur la page ou se trouve mes select.

    J'ai essayé ceci :
    fichier ajax.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php
        echo "<option>test</option>";
    ?>
    Fichier principal :
    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
    <html>
    	<head>
    		<title>Essai : lier des select</title>
    		<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
            <script>
            $(document).ready( function() 
            {
                $('#select_auteur').change( function()
                {
                    var donnee= "";
     
                    $('#select_auteur option:selected').each(function () {
                            donnee += $(this).val();
                          });
     
                    $.ajax({
                        type: "POST",
                        url:  "ajax.php",
                        data: "select_auteur="+encodeURIComponent($("#select_auteur").val()),
                        datatype : "html",
                        success: function(msg){
                            alert(msg);
                            $("#select_livre").html(msg);
                        }
                    });
                })
            })
     
     
     
            </script>
    	</head>
    	<body>
    		<form name="formulaire">
    			<fieldset style="width: 500px">
    				<legend>Liste liées</legend>
    				<label>Auteurs</label>
    				<select id='select_auteur'>
    					<option value='1'>choix 1</option>
                        <option value='2'>choix 2</option>
                        <option value='3'>choix 3</option>
    				</select>
    				<label>Livres</label>
                    <div>
                        <select id="select_livre"></select>
                    <div>
     
    			</fieldset>
    		</form>
    	</body>
    </html>
    Le premier problème, c'est que je n'arrive pas à récupérer ce qu'affiche le fichier ajax.php

    dans cet exemple, le alert ne m'affiche même pas "<option>test</option>"

    Mon second problème est que je ne suis pas sur d'utiliser la bonne méthode. J'ai choisi ici le type:post. Du coup, si je veux récupérer le choix du premier select dans mon fichier ajax.php, est ce que $_POST["select_auteur"] me permettra de récupérer la valeur ?

    merci

  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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    rajoute un name à ton form ...

  3. #3
    Membre éclairé Avatar de pop_up
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 877
    Points : 786
    Points
    786
    Par défaut
    merci pour ta réponse mais ça ne change rien au problème que j'ai pour récupérer ce qu'affiche le fichier ajax.php

    PS: je modifie le code initial pour rajouter le name quand même

  4. #4
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    encodeURIComponent($("#select_auteur").val())
    ??

  5. #5
    Membre éclairé Avatar de pop_up
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 877
    Points : 786
    Points
    786
    Par défaut
    J'ai répercuté mais le problème n'est pas la.

    La question principale est pourquoi mon alert(msg); ne m'affiche pas "<option>test</option>" ?

    En résolvant ça, je pourrai essayer d'avancer mais c'est le point qui me bloc

  6. #6
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    l'alaert est sur le success ...
    donc ton ajax est en echec

    maintenant à savoir pourquoi ?

    est tu sur que ta page php ne génère pas d'erreur ??

  7. #7
    Membre éclairé Avatar de pop_up
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 877
    Points : 786
    Points
    786
    Par défaut
    Effectivement, mon serveur local avait un petit problème. Après redémarrage, j'ai toujours ce problème de récupération du retour de ce fichier php

    Mon alert m'affiche le code de mon fichier à savoir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php
        echo "<option>test</option>";
    ?>
    Et je comprend pas pourquoi

  8. #8
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    avec les balises php ???

    ton fichier ajax.php n'est pas interprété ...

    le fichier est il bien dans le www ou sous repertoire de www ???
    ou dans un alias ?.

  9. #9
    Membre éclairé Avatar de pop_up
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 877
    Points : 786
    Points
    786
    Par défaut
    je reviens vers vous quand j'aurais acheté un cerveau.
    J'fais tellement de truc a la fois que j'ouvrai mon fichier directement dans le navigateur.

  10. #10
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    Je ne dis rien ... ça m'est arrivé aussi

  11. #11
    Membre éclairé Avatar de pop_up
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 877
    Points : 786
    Points
    786
    Par défaut
    Hello,

    De bon matin avec un cerveau tout neuf, ça va beaucoup mieux

    Le code du fichier ajax.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <?php    
        if ($_POST["select_auteur"]==1) {
            echo "<option>auteur1 - livre1</option>
                <option>auteur1 - livre3</option>
                <option>auteur1 - livre3</option>";
        } elseif ($_POST["select_auteur"]==2) {
            echo "<option>auteur2 - livre1</option>
                <option>auteur2 - livre2</option>
                <option>auteur2 - livre3</option>";
        } else {
            echo "<option>test</option>";
        }
    ?>
    Et celui du fichier principal :
    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    	<head>
    		<title>Essai : lier des select</title>
    		<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
            <script>
            $(document).ready( function() 
            {
                $('#select_auteur').change( function()
                {
                    var donnee= "";
     
                    $('#select_auteur option:selected').each(function () {
                            donnee += $(this).val();
                          });
     
                    $.ajax({
                        type: "POST",
                        url:  "ajax.php",
                        data: "select_auteur="+encodeURIComponent($("#select_auteur").val()),
                        datatype : "html",
                        success: function(msg){
                            $("#select_livre").html(msg);
                        }
                    });
                })
            })
     
     
     
            </script>
    	</head>
    	<body>
    		<form name="formulaire">
    			<fieldset style="width: 500px">
    				<legend>Liste liées</legend>
    				<label>Auteurs</label>
    				<select id='select_auteur'>
    					<option value='1'>choix 1</option>
                        <option value='2'>choix 2</option>
                        <option value='3'>choix 3</option>
    				</select>
    				<label>Livres</label>
                    <div>
                        <select id="select_livre"></select>
                    <div>
     
    			</fieldset>
    		</form>
    	</body>
    </html>
    Merci pour ton aide SpaceFrog

  12. #12
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2010
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <option value="tavaleur" >auteur1 - livre1</option>
    Salut,

    tu as oublié de mettre un value à tes options.


    Bien à toi.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Deux select liés sans l'aide d'AJAX
    Par Aloam dans le forum Général JavaScript
    Réponses: 21
    Dernier message: 04/02/2013, 06h25
  2. Ajax 2 s:select liés
    Par tongo dans le forum Struts 2
    Réponses: 1
    Dernier message: 29/05/2011, 02h10
  3. [AJAX] Chargement select liés avec ajax sous IE
    Par alex4488 dans le forum AJAX
    Réponses: 5
    Dernier message: 07/08/2010, 22h58
  4. select liés entre eux
    Par spykiller dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 17/11/2005, 14h25
  5. select avec un retour obligatoire
    Par hunter dans le forum Oracle
    Réponses: 6
    Dernier message: 18/10/2005, 11h25

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