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érer l'id d'un input qui est créer dynamiquement


Sujet :

jQuery

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2015
    Messages : 3
    Par défaut Récupérer l'id d'un input qui est créer dynamiquement
    Bonjour

    Comment je peux faire pour récupérer l'id d'un input qui est créer dynamiquement

    pour ensuite lancer la fonction autocomplete

    quand je fait l

    $( "#intermediaire0").autocomplete(

    rien ne se passe

    merci

  2. #2
    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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    Sans voir un seul petit bout de code ...

    ton attribution d'autocomplete est fait à quel moment ?
    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 !

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2015
    Messages : 3
    Par défaut
    Bonjour

    voici le code qui créer le input

    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
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    var zoneAjoutPieceCompte;
    var nbPieceCompte=0;
    function ajouterPieceCompte()
    {
        if(nbPieceCompte==0){ //si il s'agit du premier ajout
            zoneAjoutPieceCompte = document.getElementById('intermediaire') //on séléctionne l'emplacement où on veux effectuer les ajouts de champs
            document.getElementById('supCompte').style.display='inline' //on rend disponible le bouton supprimer
     }
     
    	 var maDiv = document.createElement("div");
    	 maDiv.className="f-row";
    	 maDiv.id = "inter"+nbPieceCompte;
    	 zoneAjoutPieceCompte.appendChild(maDiv);
     
    	 var half = document.createElement("div");
    	 half.className="one-half";
    	 maDiv.appendChild(half);
     
    	  var half2 = document.createElement("div");
    	 half2.className="one-half";
    	 maDiv.appendChild(half2);
     
    	  var maDivH = document.createElement("div");
    	 maDivH.className="f-row";
    	 half2.appendChild(maDivH);
     
    	  var halfH = document.createElement("div");
    	 halfH.className="one-half";
    	 halfH.style.paddingRight = "10px";
    	 maDivH.appendChild(halfH);
     
     
    	   var halfM = document.createElement("div");
    	 halfM.className="one-half";
    	 maDivH.appendChild(halfM);
     
     
    	var newlabel = document.createElement("Label");
    	newlabel.setAttribute("for","intermediaire["+nbPieceCompte+"]");
    	newlabel.innerHTML = "Ville Intermédiaire :";
    	 half.appendChild(newlabel); 
     
        //on ajoute un nouveau champ
        var input = document.createElement("input");
        input.type = "text";
        input.name = "intermediaire["+nbPieceCompte+"]";
        input.id  = "intermediaire"+nbPieceCompte;
        input.style.display = "block";
    	input.setAttribute("onkeyup", "remplirint("+nbPieceCompte+")");
        half.appendChild(input);
     
     
     
    	var newlabelh = document.createElement("Label");
    	newlabelh.setAttribute("for","intermediaireh["+nbPieceCompte+"]");
    	newlabelh.innerHTML = "Horaire :";
    	 halfH.appendChild(newlabelh); 
     
    	var newlabelm = document.createElement("Label");
    	newlabelm.setAttribute("for","intermediaireh["+nbPieceCompte+"]");
    	newlabelm.innerHTML = " ";
    	 halfM.appendChild(newlabelm); 
     
     
     
    	 var heur = new Array("00","01","02","03","04","05","06","07",
                                                    "08","09","10","11","12","13","14","15","16","17",
                                                    "18","19","20","21","22","23");
     
    var nouv_select = document.createElement('select');
       nouv_select.name = "intermediaireh["+nbPieceCompte+"]";
       nouv_select.id = "intermediaireh["+nbPieceCompte+"]";
    for (i =0; i <24; i++)
    {
        nouv_select.options[i] = new Option(heur[i], 'value',true);
    }
     
    nouv_select.options[0].selected="selected"; // choisir celui sélectionné
    halfH.appendChild(nouv_select);
     
     
     
    	 var min = new Array("00","01","02","03","04","05","06","07",
                                                    "08","09","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");
     
    var nouv_selectm = document.createElement('select');
       nouv_selectm.name = "intermediairem["+nbPieceCompte+"]";
       nouv_selectm.id = "intermediairem["+nbPieceCompte+"]";
    for (i =0; i <24; i++)
    {
        nouv_selectm.options[i] = new Option(min[i], 'value',true);
    }
     
    nouv_selectm.options[0].selected="selected"; // choisir celui sélectionné
    halfM.appendChild(nouv_selectm);	 
     
     
     
     
     
     
    	nbPieceCompte++;
     
    }

    et le script autosugesst j'ai mit 0 juste pour les tests

    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
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    <script type="text/javascript">
     
     
     
    			var cache = {};
    		$(function ()
    		{
    			$(document).ready(function() 
    			{
    				$("#intermediaire0").autocomplete(
    				{
     
     
    					source: function (request, response)
    					{
     
    						//Si la réponse est dans le cache
    						if (('FR' + '-' + request.term) in cache)
    						{
    							response($.map(cache['FR' + '-' + request.term], function (item)
    							{
     
    								return {
    									label: item.Ville + ", " + item.CodePostal,
    									value: function ()
    									{
    										if ($(this).attr('id') == 'depart')
    										{
    											$('#depart').val(item.Ville);
    											$('#departvr').val(item.Ville);
    											return item.Ville;
    										}
    										else
    										{
    											if ($(this).attr('id') == 'arrivee')
    											{
    												$('#arrivee').val(item.Ville);
    												$('#departvrd').val(item.Ville);
    												return item.Ville;
    											}
     
    											if ($(this).attr('id') == 'intermediaire0')
    											{
    												$('#intermediaire0').val(item.Ville);
    												$('#intermediaire20').val(item.Ville);
    												return item.Ville;
    											}
    										}
     
     
    									}
    								}
    							}));
    						}
    						//Sinon -> Requete Ajax
    						else
    						{
    							var objData = {};
     
    							objData = { ville: request.term, pays: 'FR', maxRows: 10 };
     
     
     
    							$.ajax({
    								url: "./AutoCompletion.php",
    								dataType: "json",
    								data: objData,
    								type: 'POST',
    								success: function (data)
    								{
    									//Ajout de reponse dans le cache
    									cache[('FR' + '-' + request.term)] = data;
    									response($.map(data, function (item)
    									{
     
    										return {
    											label: item.Ville + ", " + item.CodePostal,
    											value: function ()
    											{
    												if ($(this).attr('id') == 'depart')
    												{
    													$('#depart').val(item.Ville);
    													$('#departvr').val(item.Ville);
    													return item.Ville;
    												}
    												else
    												{
    													if ($(this).attr('id') == 'arrivee')
    													{
    														$('#arrivee').val(item.Ville);
    														$('#departvrd').val(item.Ville);
    														return item.Ville;
    													}
     
    													if ($(this).attr('id') == 'intermediaire0')
    													{
    														$('#intermediaire0').val(item.Ville);
    														$('#intermediaire20').val(item.Ville);
    														return item.Ville;
    													}
    												}
     
     
     
    											}
    										}
    									}));
    								}
    							});
    						}
    					},
    					minLength: 3,
    					delay: 600
    				});
    			});
     
    			 });
     
     
    		</script>
    donc je voudrais que du input que je génère en ecriant dedans je lance mon autosuggest

    merci

  4. #4
    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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    Deux remarques ...

    Pourquoi rajouter l'élement avec du js classque si tu utilises jquery ??

    l'autocomplete est attribué sur le ready ... et donc ton élément n'est pas encore dans le page !

    initialise l'autocomplete sur l'element après l'avoir ajouté (append)
    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 !

  5. #5
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2015
    Messages : 3
    Par défaut
    merci je vais refaire en ajoutant l’élément avec jquery

Discussions similaires

  1. [MySQL] Récupérer name d'une input qui est à l'interieur d'une boucle
    Par mounana199' dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 30/05/2014, 12h37
  2. Réponses: 4
    Dernier message: 21/12/2010, 13h06
  3. Réponses: 9
    Dernier message: 08/11/2010, 17h12
  4. Réponses: 7
    Dernier message: 08/10/2007, 17h23
  5. Réponses: 2
    Dernier message: 14/01/2006, 16h33

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