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 :

Modifier un bouton radio


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 98
    Par défaut Modifier un bouton radio
    Bonjour, j'ai un formulaire contenant un champ select et deux bouton radio mon objectif c'est d'activer un bouton radio en fonction du choix d'une option du select. les options sont les différents pays et ils appartiennent soit une zone ou non (uemoa ou non-uemoa).
    Ainsi lorsque l’utilisateur sélectionne un pays une requête est envoyé par ajax a la base de données pour savoir quelle est sa zone, si uemoa coché automatiquement activer bouton radio uemoa sinon activer non-uemo.
    mais mon ajax ne fonctionne pas je précise que c'est avec jquery. voici les
    code:
    code html:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <select id="Ch2" name="pays">
    <option value="none">selectionner un pays</option>
        <option value="France">France</option>
     <option value="Mali">Mali</option>
     <option value="Côte d\'ivoire">Côte d\'ivoire</option>
     <option value="Algerie">Algerie</option>
    </select>
    <input type="radio" name="zone" value="UEMOA" id="uemoa"/> <label for="uemoa">UEMOA</label>
    <input type="radio" name="zone" value="HORS UEMOA" id="hors-uemoa" /> <label for="hors-uemoa">HORS UEMOA</label>
    le code ajax(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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    <script type="text/javascript" src="jquery-1.10.2.js">
    $(document).ready(function() {
         var $zone = $('#uemoa');
    	var $zone1 = $('#hors-uemoa');
    	var $pays = $('#Ch2');
        // à la sélection d un pays dans la liste
      $pays.on('change', function() {
            var val = $(this).val(); // on récupère la valeur du pays
            if(val != 'none') {  
                $.ajax({
                     url: 'zone.php',
                    data: 'description='+ val, // on envoie $_GET['description']
                    dataType: 'json',
                    success: function(json) {
                        $.each(json, function(index, value) {
                         if(value!='UEMOA')
    					   { // Disable #zone
                            $zone1.attr("checked",true); }
    						else{$zone.attr("checked",true); }
                        });
                    }
                });
            }
        });
    });
    </script>
    le code php:
    Code php : 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
    <?php
    if(isset($_GET['description'])) {
     
        $json = array();
     
            $id = htmlentities(intval($_GET['description']));
            // requête qui récupère la du pays selectionné
            $sql = "SELECT zone FROM pays WHERE description = '". $id ."'";
        }
    	require("codeBDD.php");
        $bdd = new phpBDD;
        $json=$bdd->recupere($sql); // retourne le nom de la zone
        // envoi du résultat au success
        echo json_encode($json[0]);
    }
    ?>

    mais ce code ne fonctionne hors ma variable json contient bien les valeurs donc ma requête fonctionne cependant rien ne produit lorsque je fais une sélection d'un pays. car comme je le dit mon objectif est de cocher un bouton radio en fonction de l'appartenance du zone(uemoa ou non uemoa) du pays sélectionné par ajax. merci de vos aident ou si possible une autre solution qui fonctionne.

  2. #2
    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
    Que ta requête fonctionne, c'est une chose, qu'elle renvoie un JSON correct en est une autre et que tu le traites correctement encore une autre.
    Bref, si tu ne dis pas à quoi ressemble ce que tu reçois comme réponse, difficile de t'aider.

    Ceci dit, l'utilité d'AJAX dans ton cas ne me semble pas lumineux... Pourquoi ne pas créer des attributs (de type data-*) dans ton select afin de vérifier directement à quelle zone appartient chaque option ? Ces informations sont logiquement connues dès le départ et immuables, tu ferais donc une l'économie d'une transaction HTTP...
    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

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 98
    Par défaut
    salut et merci de me répondre j'ai effectivement pensé (Pourquoi ne pas créer des attributs (de type data-*) dans ton select afin de vérifier directement à quelle zone appartient chaque option)a cela mais comment ce faire la syntaxe je précise que les options du select sont générées par une requête a la BDD dont j'aurais voulu associer les zone des différents pays sans afficher la zone mais qu'il soit lié au pays concerné et ainsi a chaque sélection d'un pays je vérifie ce denier au lieu de faire une autre requête. votre suggestion tombe a pic. comment créer un attribut data

  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
    Ben... j'imagine que tu as un champ dans ta base indiquant la zone.
    Donc lorsque tu construis ton select à partir de la requête, rien ne t'empêche d'ajouter un test vérifiant la zone et si elle correspond, ajouter l'attribut.

    Mais bon, là c'est plus du jQuery, c'est du PHP.
    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

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 98
    Par défaut
    OK merci je viens de voir sur le net cet attribut data apparu avec le html5. mais j'aimerais savoir pourquoi mon code n'a pas fonctionné. y'a t-il une erreur

Discussions similaires

  1. Choix d'une valeur modifie des boutons radios
    Par hyper123 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/03/2013, 09h43
  2. Modifier un champ de texte en cliquant sur un bouton radio
    Par vikti dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 24/10/2007, 14h20
  3. Comment modifier du texte en fonction d'un bouton radio ?
    Par Oli_Ifre dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 17/04/2007, 13h54
  4. [CSS] modifier le style d'un bouton radio
    Par glloq8 dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 13/12/2006, 09h58
  5. modifier attribut checked bouton radio
    Par calitom dans le forum Général JavaScript
    Réponses: 18
    Dernier message: 27/11/2006, 21h15

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