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 :

valeur Select avant soumettre formulaire


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 131
    Par défaut valeur Select avant soumettre formulaire
    Mon problème peut être banal pour certain, mais pas moi je galère

    J'explique,

    Dans mon formulaire, j'ai un select de liste des matières, et je voudrai au moment que je fasse une autocompletion sur un autre champ, je recupère ma valeur de select
    j'utilise le Jquery,

    Remarque cette action est indépendante de la soumission du formulaire, autrement je peux la récupérer en php.
    j'ai fait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var mat = $("select[name='mat_id']").val();
             alert(mat);
    l'alerte me donne undefined

    Quelqu'un peut m'aider .?

    Merci par avance

  2. #2
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Par défaut
    Salut,

    A priori rien de spécial dans le code que tu as donné.

    Quand appelle-tu ces lignes ? peux tu donner un peu plus de code ?

  3. #3
    Rédacteur
    Avatar de Arnaud F.
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Août 2005
    Messages
    5 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 5 183
    Par défaut
    Bonjour,

    c'est normal que l'alert vous retourne undefined, la valeur que vous souhaitez récupérer est sur l'option sélectionnée, pas sur le select lui même.


    pour récupérer la valeur du select, il faut faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    // Recherche le select ayant pour nom mat_id, une fois trouvé descend sur l'option sélectionnée.
    $("select[name='mat_id'] > option:selected").val()
    Ou alors, en changeant le contexte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    // On change le contexte, autrement dit, on dit que le select ayant pour nom mat_id est la base et on recherche tous les descendants étant sélectionnés.
    $(":selected", "select[name='mat_id']").val()
    C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère

    Installation de Code::Blocks sous Debian à partir de Nightly Builds

  4. #4
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Par défaut
    Citation Envoyé par Arnaud F. Voir le message
    c'est normal que l'alert vous retourne undefined, la valeur que vous souhaitez récupérer est sur l'option sélectionnée, pas sur le select lui même.
    C'est faux, JQuery.val() gère justement ce genre de cas. Le problème
    ne vient pas de là. Pour s'en convaincre, testez le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <body>
    <select id='liste'>
      <option value='1'>1</option>
      <option value='2'>2</option>
      <option value='3'>3</option>
    </select>
    <script type='text/javascript'>
    $(function() {
    	$('#liste').change(function() {
    		alert($(this).val()); # this représente le select, pas l'option
    	});
    });
    </script>
    </body>

  5. #5
    Rédacteur
    Avatar de Arnaud F.
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Août 2005
    Messages
    5 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 5 183
    Par défaut
    Ah oui, au temps pour moi
    C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère

    Installation de Code::Blocks sous Debian à partir de Nightly Builds

Discussions similaires

  1. [2.x] Récupération de la valeur d'un select dans un formulaire
    Par oromeyer dans le forum Symfony
    Réponses: 3
    Dernier message: 10/01/2013, 20h21
  2. Réponses: 10
    Dernier message: 14/03/2008, 18h10
  3. Obtenir la valeur de mon 'select' avant de POSTER
    Par charleshbo dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 05/02/2008, 20h57
  4. [formulaire]Recuperation valeur select et réutilisation
    Par SnakemaN dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 12/07/2006, 16h05
  5. Réponses: 4
    Dernier message: 12/06/2006, 11h46

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