Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1300 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [JQuery] val() avec select multiple

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[JQuery] val() avec select multiple

n°1928303
sire de Bo​tcor
Armorican way of life
Posté le 01-10-2009 à 15:26:37  profilanswer
 

Y a-t-il un moyen pour récupérer la sélection d'un select multiple avec jquery ?
Jarodxxx dit seulement de faire attention à val() avec des select multiple mais ne donne aucune solution :/
 
LISTE_FORMULE est mon select multiple
avec $('#LISTE_FORMULE').val() --> j'obtiens du vide
avec $('#LISTE_FORMULE').val()[0] --> j'obtiens du vide
avec $('#LISTE_FORMULE[0]').val() --> j'obtiens undefined
avec $('#LISTE_FORMULE').val([0]) --> j'obtiens [object Object]
avec $('#LISTE_FORMULE').val(["CHAMP1"]) --> j'obtiens [object Object]
 
vous auriez une idée ?
PS : je débute complètement en ajax, jquery et compagnie


Message édité par sire de Botcor le 01-10-2009 à 15:43:01

---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
mood
Publicité
Posté le 01-10-2009 à 15:26:37  profilanswer
 

n°1928307
pataluc
Posté le 01-10-2009 à 15:46:29  profilanswer
 

le val fonctionne très bien. il te renvoie un tableau des éléments sélectionnés.
 
tu dois avoir un pb ailleurs... tu peux nous montrer ton code?

n°1928434
sire de Bo​tcor
Armorican way of life
Posté le 02-10-2009 à 09:30:39  profilanswer
 

merci de te pencher sur mon problème :jap:
 
je ne sais pas trop quel bout de code te donner ?
je fais juste ça :

Code :
  1. $('#liste_formule').load('ics.php',{idact:'%IDACT_FORMULE_LISTE_AJAX%',CHAMP_SEL_FORMULE:$('#LISTE_FORMULE').val()});
  2. alert($('#LISTE_FORMULE option[selected]').val());


Message édité par sire de Botcor le 02-10-2009 à 10:29:13

---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
n°1928454
pataluc
Posté le 02-10-2009 à 10:24:27  profilanswer
 

le "option[selected]" ne sert à rien et est même sans doute la cause du pb...

n°1928456
sire de Bo​tcor
Armorican way of life
Posté le 02-10-2009 à 10:30:30  profilanswer
 

pataluc a écrit :

le "option[selected]" ne sert à rien et est même sans doute la cause du pb...


oui pardon, c'était mon dernier essai que je peux ajouter à la liste de ceux qui renvoient "undefined"


Message édité par sire de Botcor le 02-10-2009 à 10:31:13

---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
n°1928462
pataluc
Posté le 02-10-2009 à 10:35:26  profilanswer
 

renvoie plutot le code html de ton select.

n°1928472
sire de Bo​tcor
Armorican way of life
Posté le 02-10-2009 à 10:47:03  profilanswer
 

pataluc a écrit :

renvoie plutot le code html de ton select.


ok c'est ça :

Code :
  1. <div id="liste_formule">
  2. <select multiple="multiple" name="LISTE_FORMULE[]" size="7" onchange="idg_afficher_btn()" onkeyup="idg_afficher_btn()" id="liste_fu">
  3. <option value="35">FORMULE1 (2009)</option>
  4. <option value="53">FORMULE2 (2009)</option>
  5. <option value="52">FORMULE3 (2009)</option>
  6. </select>
  7. </div>


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
n°1928484
pataluc
Posté le 02-10-2009 à 11:04:07  profilanswer
 

ok c'est bien ce que je pensais. il faut te baser sur l'id et pas le name, donc

Code :
  1. alert($('#liste_fu').val());

Message cité 1 fois
Message édité par pataluc le 02-10-2009 à 11:04:20
n°1928486
sire de Bo​tcor
Armorican way of life
Posté le 02-10-2009 à 11:06:40  profilanswer
 

pataluc a écrit :

ok c'est bien ce que je pensais. il faut te baser sur l'id et pas le name, donc

Code :
  1. alert($('#liste_fu').val());



malheureusement j'ai essayé toutes les combinaisons avec liste_fu et j'ai les mêmes résultats :/


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
n°1928493
sire de Bo​tcor
Armorican way of life
Posté le 02-10-2009 à 11:24:25  profilanswer
 

là je viens d'essayer de mettre un settimeout après l'affichage des listes et avant le alert() et j'obtiens un résultat original : null :/


Message édité par sire de Botcor le 02-10-2009 à 11:24:40

---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
mood
Publicité
Posté le 02-10-2009 à 11:24:25  profilanswer
 

n°1928495
pataluc
Posté le 02-10-2009 à 11:28:52  profilanswer
 

perso quand je mets le code suivant:
 

Code :
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html> 
  3.   <head> 
  4.     <title>
  5.     </title> 
  6.     <script type="text/javascript" src="jquery.js"></script>
  7.     <script type="text/javascript">
  8.    
  9.     function test(){         
  10.       alert($('#liste_fu').val());
  11.     }
  12.    
  13.     </script>
  14.    
  15.   </head> 
  16.   <body>
  17.     <div id="liste_formule">
  18.       <select multiple="multiple" name="LISTE_FORMULE[]" size="7" onchange="idg_afficher_btn()" onkeyup="idg_afficher_btn()" id="liste_fu">
  19.         <option value="35">FORMULE1 (2009)</option>
  20.         <option value="53">FORMULE2 (2009)</option>
  21.         <option value="52">FORMULE3 (2009)</option>
  22.       </select>
  23.     </div>
  24.     <a href='javascript:test()'>test</a>
  25.   </body>
  26. </html>


 
j'obtiens bien ma liste en cliquant sur le lien test:
http://hfr-rehost.net/self/pic/fa48dbd0ce0ad8db2e0334f7cff8f5c9ef91a3c9.png
 
 
:spamafote:

n°1928504
sire de Bo​tcor
Armorican way of life
Posté le 02-10-2009 à 11:46:18  profilanswer
 

effectivement, mon problème doit venir d'un schmilblick dans la complexité de la page que j'ai vraiment du mal à comprendre :/
 
merci de ton aide en tout cas :jap:


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
n°1928508
pataluc
Posté le 02-10-2009 à 12:01:40  profilanswer
 

si tu peux balancer plus de code (genre la page entière, sauf si elle est énorme ou privée) on peut peut être trouver le problème. sinon je te conseille un debugger javascript style firebug (extension firefox) qui te permet de faire du pas à pas dans ton javascript.

n°1928607
sire de Bo​tcor
Armorican way of life
Posté le 02-10-2009 à 17:01:05  profilanswer
 

J'ai (enfin) trouvé la cause du problème :)
 
en fait, la liste étant générée par ajax/jquery, elle apparaissait sur la page en retard et du coup mon alert() s'exécutait trop tôt
 
avec un setTimeout de 2000ms, ça fonctionne :D


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
n°1928609
pataluc
Posté le 02-10-2009 à 17:07:20  profilanswer
 

pas mal! ^^

n°1928636
gatsu35
Blablaté par Harko
Posté le 02-10-2009 à 21:47:39  profilanswer
 

sire de Botcor a écrit :

J'ai (enfin) trouvé la cause du problème :)
 
en fait, la liste étant générée par ajax/jquery, elle apparaissait sur la page en retard et du coup mon alert() s'exécutait trop tôt
 
avec un setTimeout de 2000ms, ça fonctionne :D


nan mais ton dawa tu le fais sur la callback de la requete ajax, là ce que tu fais c'est dégueulasse


---------------
Blablaté par Harko

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [JQuery] val() avec select multiple

 

Sujets relatifs
jqueryXSLT jQuery et Sélecteur
Problème requête select avec double résultatsjquery et plusieurs events
Probleme de requete SELECT sur msSQLProblème Jquery
SELECT MATCH sur plusieurs colonnesProblème avec jQuery
Récupérer les infos d'un SELECT Multiple (form HTML) en PHP ? 
Plus de sujets relatifs à : [JQuery] val() avec select multiple


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR