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 :

Récupération valeur select dynamiquement créé [AJAX]


Sujet :

jQuery

  1. #1
    Membre émérite Avatar de Geoffrey74
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 515
    Par défaut Récupération valeur select dynamiquement créé
    Bonjour,

    je n'arrive pas a récupérer la valeur d'un select qui a été créer entièrement en ajax.

    J’essaie de faire un $("#NomSelect option:selected").val() mais il ne trouve pas le select.

    Sâchant qu'il a été créer dynamiquement, y'aurai t'il un moyen de trouver sa valeur ?

    Merci d'avance.

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,

    Peut-on voir ton code HTML et comment tu as généré ton select?

    A+.

  3. #3
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Attention

    $("#NomSelect option:selected").val()
    Ça doit être l'id pas le name. Ensuite, ne passe pas l'option, val() retourne directement la valeur de l'option sélectionnée.
    A+.

  4. #4
    Membre émérite Avatar de Geoffrey74
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 515
    Par défaut
    Re,

    voici mon code :

    Création des selecte :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    for($NbProduit = 0;$NbProduit < count($CompositionMenu);$NbProduit++)
    {
    	echo "<label>".$CompositionMenu[$NbProduit]."</label><br>";
    	echo "<select id=".$CompositionMenu[$NbProduit].">";
    	echo "<option value=''>Choissisez votre ".$CompositionMenu[$NbProduit]."</option>";
    	for($i=0;$i<count($Menu[$SelectedMenu][$CompositionMenu[$NbProduit]]);$i++)
    	{
    		echo '<option value="'.$i.'">'.$Menu[$SelectedMenu][$CompositionMenu[$NbProduit]][$i].'</option>';
    	}
    	echo "</select><br><br>";
    }

    appeler par cette fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $('#menu').change(function () {					
    	$.get("ajax.php?menu="+$("#menu option:selected").val(), function(data){
    		$('#SelectAjax').html(data);
    	});
    }).trigger('change');
    et là c'est la vérif des select qui ne fonctionne pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $('#formselect').submit(function() {
    	$.get("verifform.php?menu="+$("#menu option:selected").val(), function(data){
    		value=data.split('-');
    		for(i=0;i<value.length;i++)
    		{
    			alert($("#"+value[i]).val());
    		}
    	});
    	return false
    });
    c'est la partie en rouge qui ne fonctionne pas :-\

    EDIT: pour info j'ai cette erreur :

    Horodatage*: 07/08/2013 16:01:17
    Erreur*: Error: Syntax error, unrecognized expression: #
    Sandwich
    Fichier Source*: http://ajax.googleapis.com/ajax/libs.../jquery.min.js
    Ligne*: 4
    REDIT: en faite j'avais un élément de réponse sous le nez !!

    mon select à comme id Sandwich, dans je le cherche avec #Sandwich sauf que l'erreur me donnais # "entrée"Sandwich, et interprétai mal l'erreur ^^

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('#SelectAjax').empty().append($(data));
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Membre émérite Avatar de Geoffrey74
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 515
    Par défaut
    J'ai donné d'autre infos en éditant mon précédent post.

    J'ai donc un retour a la ligne avant l'ID, c'est sans doute ça qui pose problème.

    EDIT:

    ça fonctionne maintenant, j'ai rajouter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if(i==0)
    value[i] = value[i].substring(2);
    car seul le premier élement du tableau comporte un retour chariot

    D'ailleurs si quelqu'un à une explication !

    voici le code qui renvoie les valeurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if($_GET['menu'])
    {
    	echo $Menu[$_GET['menu']]["Composition"];
    }

  7. #7
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<select id=".$CompositionMenu[$NbProduit].">";
    La balise br doit être auto-fermante --> <br />
    Attention, l'attribut id doit être entre des quotes.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $("#menu option:selected").val()
    Comme j'ai dit plus haut, tu n'as pas besoin de mettre "option:selected" pour récupérer la valeur du select.

    Pour test, met alert (data); avant de faire un split.

    A+.

  8. #8
    Membre émérite Avatar de Geoffrey74
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 515
    Par défaut
    J'ai corrigé les br et autres balises auto fermantes

    Sinon, j'ai eu des erreurs sans mettre le

  9. #9
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    On peut voir ton code HTML?

    A+.

  10. #10
    Membre émérite Avatar de Geoffrey74
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 515
    Par défaut
    Voici toute ma page :
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    <!DOCTYPE html>
    <html>
    	<head>
    		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    		<title> Composition du menu </title>
    		<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
    		<script type="text/javascript">
    			$(document).ready(function()
    			{
    				$('#menu').change(function () {					
    					$.get("ajax.php?menu="+$("#menu option:selected").val(), function(data){
    						$('#SelectAjax').html(data);
    					});
    				}).trigger('change');
    				$('#formselect').submit(function() {
    						$.get("verifform.php?menu="+$("#menu option:selected").val(), function(data){
    							value=data.split('-');
    							for(i=0;i<value.length;i++)
    							{
    								if(i==0)
    									value[i] = value[i].substring(2);
     
    								if($("#"+value[i]+" option:selected").val() == "")
    								{
    									alert("Veuillez choisir votre " +value[i]);
    								}
    							}
    						})
    				});
    			});
    		</script>
    	</head>
    	<body>
    		<?php
                            require_once('variables.php');
                            (isset($_GET['menu']))? $selectedmenu = $_GET['menu']:$selectedmenu=1 ;
                    ?>
    		<form id="formselect" action="panier.php" method="POST">
    			Composition Menu : <br><br>
    			<label> Menu :</label><br>
    			<select id="menu" name="menu">
    				<option value=''></option>
    				<?php
                                            for($NbMenu=1;$NbMenu<=count($Menu);$NbMenu++)
                                            {
                                                    if($NbMenu == $selectedmenu)
                                                            echo '<option value="'.$NbMenu.'" selected="selected">'.$Menu[$NbMenu]["Nom"]." - ".$Menu[$NbMenu]["Prix"].'€</option>';
                                                    else
                                                            echo '<option value="'.$NbMenu.'">'.$Menu[$NbMenu]["Nom"]." - ".$Menu[$NbMenu]["Prix"].'€</option>';
                                            }
                                     ?>
    			</select>
    			<br>
    			----------------------------------------------------------------
    			<br>
    			<div id='SelectAjax'></div>	
    		</form >
    		<br>
     
    	</body>
    </html>
    D'ailleurs j'ai un nouveau soucis par rapport à ma vérification de mon "formulaire", j'arrive a avoir les valeurs et savoir lesquels ne sont pas remplie, mais je n'arrive pas à annuler la validation si y'a une erreur ou valider si ok

  11. #11
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Citation Envoyé par Geoffrey74 Voir le message
    D'ailleurs j'ai un nouveau soucis par rapport à ma vérification de mon "formulaire", j'arrive a avoir les valeurs et savoir lesquels ne sont pas remplie, mais je n'arrive pas à annuler la validation si y'a une erreur ou valider si ok
    Lance la requête Ajax en mode synchrone.

    A+.

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

Discussions similaires

  1. [XL-2013] Récupération valeur selection lisbox VBA par défaut
    Par Devff dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/05/2015, 03h06
  2. Récupération de la valeur d'un select dynamique
    Par moongui dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 02/06/2010, 10h25
  3. [MySQL] Re problème récupération valeur liste dynamique
    Par stefsas dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 01/03/2010, 08h58
  4. [MySQL] Récupération de la valeur d'un select dynamique
    Par aeoai dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 15/10/2007, 15h39
  5. Récupération valeur datagrid dynamique
    Par fanfan49 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 07/08/2007, 12h00

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