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 :

Source dynamique pour autocompletion jQuery


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2014
    Messages : 9
    Par défaut Source dynamique pour autocompletion jQuery
    Bonjour,

    J'ai crée un site avec wordpress et je souhaite modifier l'autocompletion.
    Mon soucis est qu'une variable (pourtant globale) n'est pas accepté par la fonction d'autocomplétion.

    Voilà un extrait du code :
    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
    jQuery(document).ready(function($) {
     
    var catInput = $( "#category" );
     
    var tab_loc[12] = ...
     
    catInput.autocomplete({
    minLength: 0,
    source: tab_loc[id_parent],
    focus:...
    })
    catInput.click(function(){
    var window.id_parent = document.getElementById('id_element').value;
    ...
    });
    La variable "id_parent" n'est pas accepté par source : tab_loc[id_parent].
    J'avais testé la variable en faisant un alert et tout fonctionne, la variable est mis à jour lorsqu'on clique sur l'élément catInput.

    Merci d'avance

  2. #2
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2014
    Messages : 9
    Par défaut
    Bonjour,

    J'ai testé ceci mais sans réussite :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    var locInputID = $( "#id_element" );
    ...
    catInput.autocomplete({
        minLength: 0,
        source: tab_loc[locInputID.val()],
    ...
    La valeur est bien récupérer, j'ai testé avec des alert mais l'autocompletion ne fonctionne que si je met un véritable nombre.

    Merci à vous

  3. #3
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Bonsoir

    var window.id_parent .

    Soit var id_parent.
    Soit window.id_parent ce qui est une très mauvaise idée (variable globale)

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  4. #4
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2014
    Messages : 9
    Par défaut
    Merci pour votre aide mais cela ne fonctionne pas.

    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
    jQuery(document).ready(function($) {
    tab_loc['25'] = [{ value: "41", label: "Culoz" },{ value: "89", label: "Neuville-sur-Ain" },{ value: "73", label: "Versailleux" },{ value: "57", label: "Villereversure" }];
    tab_loc['21'] = [{ value: "85", label: "Challes-la-Montagne" },{ value: "69", label: "Condeissiat" },{ value: "53", label: "Crans" },{ value: "37", label: "Saint-Denis-en-Bugey" }];
     
    var catInput = $( "#category" ),
    catInputID = $( "#category-id" ),
    locInput = $( "#location" ),
    locInputID = $( "#location-id" );
     
    catInput.autocomplete({
         minLength: 0,
         source: tab_loc[locInputID.val()], //La source que je ne comprends pas
         focus: function( event, ui ) {...},
         select: function( event, ui ) {...}
    }).data( "ui-autocomplete" )._renderItem = function( ul, item ) {...};
    Aucune de mes variables n'est accepté par la source.

    J'ai aussié essayé en faisant appel à une source externe mais je reviens sur le même problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    source: 'http://monlien?id='+id_parent,
    id_parent ou locInputID.val() ne retourne rien pour la source.

  5. #5
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Exemple :

    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
    $( function(){ // forme abrégée de $(document).ready(function(){
     
        var tabLoc = {
            25 : [
                { 
                    "value" : 41, 
                    "label" : "Culoz"
                },
                { 
                    "value" : 89, 
                    "label" : "Neuville-sur-Ain" 
                },
                { 
                    "value" : 73, 
                    "label" : "Versailleux" 
                },
                { 
                    "value" : 57, 
                    "label" : "Villereversure" 
                }
            ],
            21 : [
                {
                    "value" : 85, 
                    "label" : "Challes-la-Montagne" 
                },
                { 
                    "value" : 69, 
                    "label" : "Condeissiat"
                },
                { 
                    "value" : 53, 
                    "label" : "Crans" 
                },
                { 
                    "value" : 37, 
                    "label" : "Saint-Denis-en-Bugey"
                }
            ]
        };
     
        // debug, console touche F12
        // console.log( tabLoc, tabLoc[ 21 ] );
     
        var jObjCategory = $( "#category" ),
            jObjLocation = $( "#location" );
     
     
        jObjLocation.autocomplete({
             "source" : tabLoc[ jObjCategory.val() ]
        });
    });

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  6. #6
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2014
    Messages : 9
    Par défaut
    Merci mais j'ai finalement trouvé la solution en encadrant ma fonction d'autocompletion par un .focus ce qui ma permis d'utiliser la variable. Je ne comprend pas pourquoi avant ça ne fonctionnait pas avec une variable globale mais c'est pas grave, j'y réfléchirai plus tard.

    Merci encore

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 28/12/2011, 15h42
  2. [jquery] autocomplete et source dynamique
    Par mapmip dans le forum jQuery
    Réponses: 1
    Dernier message: 23/11/2011, 00h48
  3. [2008R2] Source de données dynamique pour un package SSIS
    Par brinx dans le forum SSIS
    Réponses: 1
    Dernier message: 31/05/2011, 14h53

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