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

AJAX Discussion :

Factoriser autocomplete jquery-ajax


Sujet :

AJAX

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 75
    Par défaut Factoriser autocomplete jquery-ajax
    bonjour

    J' utilise une fonction jquery couplée avec de l' ajax pour effectuer de l' autocomplétion
    mais je souhaite faire une seule fonction que je pourrais passer à tout mes champs de formulaires
    comment dois-je m' y prendre:

    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
     
    jQuery(function() {
        jQuery('#pays').autocomplete({
            minLength: 1,
            source: function(request, response) {
                jQuery.ajax({
                    url: "/index/lire",
                    type: "POST",
                    dataType: "json",
                    data: {
                    	name_startsWith : jQuery('#pays').val(),
                    	maxRows : 5,	
                    },
                    success: function (data) {
                        response(data);
                        if (data.length === 0) {
     
                        }
                        else
                        {
                        	response($.map(data, function(objet)
                        	{
                        		return objet.nomville; 
                        	}));// on retourne cette forme de suggestion  reponse($.map(donnee.geonames, function(objet){
                        }
                    },
                    error: function () {
                        response([]);
                    }
                });
            },
            position : {
            my: "top",
            at: "center , center" 
            } 
        });
    });
     
     
    jQuery(function() {
        jQuery('#nom').autocomplete({
            minLength: 1,
            source: function(request, response) {
                jQuery.ajax({
                    url: "/index/lire",
                    type: "POST",
                    dataType: "json",
                    data: {
                    	nom_startsWith : jQuery('#nom').val(),
                    	maxRows : 5,	
                    },
                    success: function (data) {
                        response(data);
                        if (data.length === 0) {
     
                        }
                        else
                        {
                        	response($.map(data, function(objet)
                        	{
                        		return objet.nom; 
                        	}));// on retourne cette forme de suggestion  reponse($.map(donnee.geonames, function(objet){
                        }
                    },
                    error: function () {
                        response([]);
                    }
                });
            },
            position : {
            my: "top",
            at: "center , center" 
            } 
        });
    });

    j' ai réfléchi à faire une fonction du style:

    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
     
    jQuery(function($champformulaire,$url,$nomobjet) {
        jQuery($champformulaire).autocomplete({
            minLength: 1,
            source: function(request, response) {
                jQuery.ajax({
                    url: $url,
                    type: "POST",
                    dataType: "json",
                    data: {
                    	name_startsWith : jQuery($champformulaire).val(),
                    	maxRows : 5,	
                    },
                    success: function (data) {
                        response(data);
                        if (data.length === 0) {
     
                        }
                        else
                        {
                        	response($.map(data, function(objet)
                        	{
                        		return objet.$nomobjet; 
                        	}));// on retourne cette forme de suggestion  reponse($.map(donnee.geonames, function(objet){
                        }
                    },
                    error: function () {
                        response([]);
                    }
                });
            },
            position : {
            my: "top",
            at: "center , center" 
            } 
        });
    });
    mais je ne vois pas comment l' appeler ?

    merci pour votre aide

  2. #2
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

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

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 418
    Par défaut
    Salut,

    Bah oui là en fait tu ne crées que des fonctions anonymes donc difficile de les appeler

    Regardes la doc mozilla ce ne sont pas les solutions qui manquent pour nommer et appeler des fonctions

Discussions similaires

  1. [AJAX] Factoriser ses script Ajax/Jquery
    Par shaftJackson dans le forum jQuery
    Réponses: 0
    Dernier message: 30/01/2013, 19h00
  2. [JQuery] ajax avec Firefox
    Par elvan49 dans le forum jQuery
    Réponses: 2
    Dernier message: 17/12/2007, 12h21
  3. jquery ajax et IE
    Par Sourrisseau dans le forum jQuery
    Réponses: 1
    Dernier message: 01/09/2007, 05h17
  4. [JQuery] Ajax et réécriture d'url
    Par Nicolas N. dans le forum jQuery
    Réponses: 1
    Dernier message: 21/07/2007, 20h31

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