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

AJAX Discussion :

ajax vide mon SELECT


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Janvier 2018
    Messages
    300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2018
    Messages : 300
    Par défaut ajax vide mon SELECT
    Bonjour à tous,
    J'ai un AJAX qui fonctionne sans problème. Je change d'élément dans un select, et mon AJAX se déclenche.
    Mon soucis vient d'une fait qu'une fois le script lancé, mon <select> se vide de ses <option>. En image :
    Avant l'AJAX:
    Nom : AVANT.png
Affichages : 160
Taille : 4,3 Ko
    Après:
    Nom : APRES.png
Affichages : 148
Taille : 2,4 Ko
    Mon souhait serait donc de ne pas supprimer les options... qui laisserait potentiellement la possibilité de changer d'avis, soit de changer d'option autant de fois que voulu (pour un utilisateur indécis? :p ).
    Le code HTML:
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    					<select type="text" class="form-control col-lg-12 valider" id="Selector" style="color:green">
    						<option style="color:green;" value="2">Justification validée</option>
    						<option style="color:orange;" value="0">En attente de validation</option>
    						<option style="color:red;" value="1">Justification refusée</option>
    					</select>
     
    					<div class="statutJustif">Etat modifié!</div>
    Et le JS (oui en faite il y a 2 ajax):
    Code JS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
      $(".statutJustif").hide();
      document.getElementById("Selector").onchange = changeListener;
        function changeListener(){
            $("#Selector").slideDown().load("/admin/panel/AbsenceUpdateState", {
    			id: $(this).closest('tr').find('#abs_id').val(),
    			valider: $(this).closest('tr').find('.valider').val()});
          	$(this).closest('tr').find(".statutJustif").show();
     
    		$("#Selector").slideDown().load("/admin/panel/AbsenceSendMail", {
    			id: $(this).closest('tr').find('#abs_id').val(),
    			etudiant: $(this).closest('tr').find('#abs_etudiant').val(),
    			mail: $(this).closest('tr').find('#abs_mail').val()});
        }
    Merci d'avance!

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    1- donc, tu essaies de charger 2 fichiers dans le même élément "#Selector" ?
    Explique... ??

    2- Vu que .load() est asynchrone, tu ne peux pas savoir lequel des 2 load va s'effectuer en premier.
    Si tu veux qu'ils s'effectuent l'un après l'autre, il faut mettre le 2ème DANS le 1er.

  3. #3
    Membre éclairé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Janvier 2018
    Messages
    300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2018
    Messages : 300
    Par défaut
    Merci pour ta réponse.
    Peut importe l'ordre, je ne veux pas récupérer leur contenu côté client.
    L'un appel une fonction PHP pour envoyer un mail à un utilisateur, et l'autre va réaliser un UPDATE en base en fonction de l'<option> choisie.
    Merci d'avance

  4. #4
    Invité
    Invité(e)
    Par défaut
    Alors tu n'as pas du tout compris le fonctionnement de .load()...
    Je t'ai mis un lien. Suis-le, et LIS.

    Description: Load data from the server and place the returned HTML into the matched elements.
    En français :
    Description: charge les données du serveur et place le code HTML renvoyé dans les éléments correspondants.
    A priori, ici, tu n'as besoin que de $.ajax().


    Tu devrais vraiment faire un EFFORT pour COMPRENDRE ce que tu fais, et CONNAITRE les fonctions que tu utilises...

  5. #5
    Membre éclairé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Janvier 2018
    Messages
    300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2018
    Messages : 300
    Par défaut
    Haha, pas tu n'es pas très poli mais tu n'as pas tort, je ne suis pas encore assez rigoureux.
    Mais je retiens ta remarque, il faut que je pense à creuser les fonctions que j'utilise, que je décortique exactement ce qu'elles font, je comprendrai mieux mes problèmes ainsi.
    Sujet résolu, merci!

  6. #6
    Invité
    Invité(e)
    Par défaut
    Je ne vois pas où j'ai été 'impoli".

    "Mordant", peut-être...

    C'est surtout que certaines vérités font mal.

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

Discussions similaires

  1. [VB & SQL] Recordset reste vide apres SELECT
    Par ZeGuizmo dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 27/06/2006, 09h04
  2. Comment récupérer mon SELECT en mémoire ?
    Par Invité dans le forum Bases de données
    Réponses: 3
    Dernier message: 14/03/2006, 05h09
  3. mon select ne marche pas.
    Par Aurèl90 dans le forum Requêtes et SQL.
    Réponses: 16
    Dernier message: 01/12/2005, 15h59
  4. (urgent) Erreur dans mon select à cause du NOT IN
    Par MoTUmBo dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 29/11/2005, 20h28
  5. mon select count(*) marche pas
    Par zorba49 dans le forum Langage SQL
    Réponses: 14
    Dernier message: 05/08/2005, 08h28

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