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 :

Auto update d'une liste déroulante


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2013
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 125
    Par défaut Auto update d'une liste déroulante
    Bonjour à tous,

    J'ai réussi à insérer des données à partir d'une liste déroulante (en utilisant jquery dialog box), mais lorsque l'insertion se fait, il y a pas d'auto update de la liste déroulante !

    Comment faire pour récupérer la nouvelle valeur ?

    Merci

  2. #2
    Membre confirmé
    Inscrit en
    Janvier 2013
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 125
    Par défaut
    Est ce que c'est possible d'actualiser une liste déroulante sans actualiser la page ?

  3. #3
    Membre confirmé Avatar de royto
    Homme Profil pro
    Développeur .Net & Web
    Inscrit en
    Mai 2005
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .Net & Web

    Informations forums :
    Inscription : Mai 2005
    Messages : 92
    Par défaut
    voici un exemple pour ajouter en JavaScript avec JQuery une valeur dans une liste déroulante.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $("#mySelect").append('<option value=1>My option</option>');
    prepend au lieu de apprend permet de l'ajouter en premier.


    il est possible de l'ajouter a une position définie avec les méthodes before ou after mais il faut sélectionner l'element option et non le select


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $("#mySelect option:eq(2)").append('<option value=1>My option</option>');

    option:eq(2) permet de sélectionner la 3eme valeur de la liste

  4. #4
    Membre confirmé
    Inscrit en
    Janvier 2013
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 125
    Par défaut
    Je pense que je n'ai pas bien expliqué mon problème.
    Ma liste déroulante est alimentée avec une requête :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <select name="CLIENT" id="CLIENT" class="selectperinfo">
      <option value="">Select...</option>
     
      <?php do { ?>
      <option value="<?php echo $row_Clt['ID']?>"<?php echo ($clt==$row_Clt['ID']  ? ' selected="selected"' : '');?>><?php echo $row_Clt['NAME']?></option>
      <?php } while ($row_Clt = mysql_fetch_assoc($Clt));
    	$rows = mysql_num_rows($Clt);
    	if($rows > 0) {mysql_data_seek($Clt, 0);
    		$row_Clt = mysql_fetch_assoc($Clt);}?>
     
       <option value="-1" style="color:#000;font-weight:bold">New client</option>
    </select>

    En cliquant sur l'option "New client", une boite de dialogue jquery s'affiche qui contient un formulaire permettant de saisir un nouveau client.

    Quand l'insertion se fait, je ne trouve pas la nouvelle valeur dans la liste déroulante.

    Voilà, j'espère que la problématique est clair maintenant.

    Merci d'avance pour votre aide

  5. #5
    Membre confirmé
    Inscrit en
    Janvier 2013
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 125
    Par défaut
    J'ai trouvé une solution mais il y a un petit problème.
    Je commence par poster la solution :

    1-Créer une page "Client.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
     
    <?php
        $res ="SELECT ID, NAME from client";
    	$rsClt = mysql_query($res, $base) or die(mysql_error());
    	echo "<option value=''>Select...</option>";
    		while($row = mysql_fetch_assoc($rsClt)){
    			echo "<option value='".$row["ID"]."'>".$row["NAME"]."</option>";
     
    		}
     
    		echo "<option value='-1' style='color:#000;font-weight:bold'>New client</option>";
     
    	mysql_free_result($rsClt);
     
    ?>

    2-Ajouter le code suivant dans page où se trouve la liste déroulante:
    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <script type="text/javascript">
          $(document).ready(function() {
              $("#client").click(function() {
                  $("#client").load('Client.php');
              });
          });
    </script>

    Problème:
    Lorsque je clique sur un élément de la liste déroulante, elle ne grade pas la valeur séléctionnée. Elle affiche toujours l'option "Select..." !!!

    Any suggestions ?
    Merci d'avance

  6. #6
    Membre confirmé
    Inscrit en
    Janvier 2013
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 125
    Par défaut
    Enfin je viens de résoudre le problème, il suffit d'éliminer la ligne suivante du code JS:

    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    $("#client").click(function() {

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

Discussions similaires

  1. [AC-2007] Modifier l'auto complétion dans une liste déroulante.
    Par Swed_Chief dans le forum VBA Access
    Réponses: 3
    Dernier message: 05/05/2015, 15h41
  2. Réponses: 3
    Dernier message: 10/12/2014, 06h29
  3. [AC-2007] Saisie semi-auto sur une liste déroulante
    Par thomas17180 dans le forum IHM
    Réponses: 12
    Dernier message: 15/10/2012, 16h53
  4. Réponses: 3
    Dernier message: 10/04/2008, 13h50
  5. Réponses: 1
    Dernier message: 27/10/2005, 21h48

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