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 :

Autocomplete Jquery-ui personnalisé et variable additionnelle


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    818
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2005
    Messages : 818
    Par défaut Autocomplete Jquery-ui personnalisé et variable additionnelle
    Bonjour,

    J'arrive à faire un autocomplete personnalisé avec jquery ui.
    Je souhaite faire la même chose en transmettant une variable additionnelle en plus du terme saisi.
    Voici mon script :
    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
     
    $(".autocomplete_bib").autocomplete({
                    source: function(request, response) {
                        $.ajax({
                            url: "choix_bib_rechav.php",
                            datatype: "json",
                            data: {
                                term: request.term,
                                cat: $("input.check_cat:checked").map(function () {return this.value;}).get().join(",")
                            },
                            success: function(data) { 
                                response($.map(data, function(obj) {
                                    return {
                                        label: obj.name,
                                        value: obj.name,
                                        description: obj.description
                                    };
                                }));
                            }
                        })
                    },
     
                    minLength: 1,
                    focus: function( event, ui ) {
                        if(ui.item.idbib!=0)
                        {
                            $( "#new_idbib" ).val( ui.item.bib );
                        }
                        else
                        {
                            $( "#new_idbib" ).val( 'Ville ou Code Postal' );
                        }
                        $( "#idbib" ).val( ui.item.idbib );
                        return false;
                    },
                    select: function( event, ui ) {
                        if(ui.item.idbib!=0)
                        {
                            $( "#new_idbib" ).val( ui.item.bib );
                            $( "#new_idbib" ).attr('disabled', 'disabled');
                            $("#reset_bib").show();
                        }
                        else
                        {
                            $( "#new_idbib" ).val( 'Ville ou Code Postal' );
                        }
                        $( "#idbib" ).val( ui.item.idbib );
                        return false;
                    }
            })
             .data( "ui-autocomplete" )._renderItem = function( ul, item ) {
                return $( "<li>" )
                .append( "<a>" + item.bib + "<br>" + item.ville + "<br>" + item.cp + "</a>" )
                .appendTo( ul );
            };
    Mon code fonctionne dans le sens où la variable additionnelle est bien envoyée mais depuis que j'ai modifié la source le render personnalisé ne fonctionne plus.

    Voici mon code qui fonctionne sans prendre en compte la variable additionnelle :
    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
     
    $(".autocomplete_bib").autocomplete({
                    source: "choix_bib_rechav.php?cat="+$("input.check_cat:checked").map(function () {return this.value;}).get().join(","),
     
                    minLength: 1,
                    focus: function( event, ui ) {
                        if(ui.item.idbib!=0)
                        {
                            $( "#new_idbib" ).val( ui.item.bib );
                        }
                        else
                        {
                            $( "#new_idbib" ).val( 'Ville ou Code Postal' );
                        }
                        $( "#idbib" ).val( ui.item.idbib );
                        return false;
                    },
                    select: function( event, ui ) {
                        if(ui.item.idbib!=0)
                        {
                            $( "#new_idbib" ).val( ui.item.bib );
                            $( "#new_idbib" ).attr('disabled', 'disabled');
                            $("#reset_bib").show();
                        }
                        else
                        {
                            $( "#new_idbib" ).val( 'Ville ou Code Postal' );
                        }
                        $( "#idbib" ).val( ui.item.idbib );
                        return false;
                    }
            })
             .data( "ui-autocomplete" )._renderItem = function( ul, item ) {
                return $( "<li>" )
                .append( "<a>" + item.bib + "<br>" + item.ville + "<br>" + item.cp + "</a>" )
                .appendTo( ul );
            };
    Comment faire pour combiner render et transmission de variable supplémentaire ?

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    818
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2005
    Messages : 818
    Par défaut
    J'ai réussi.
    Voici le 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
    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
     
    $(".autocomplete_bib").autocomplete({
                    source: function ( query, process ) {
                            return $.getJSON(
                                    'choix_bib_rechav.php',
                                    {
                                            term: query.term,
                                            cat: $("input.check_cat:checked").map(function () {return this.value;}).get().join(",")
                                    },
                                    function ( data ) {
                                            return process( data );
                                    }
                            );
                    },
                    minLength: 1,
                    focus: function( event, ui ) {
                        if(ui.item.idbib!=0)
                        {
                            $( "#new_idbib" ).val( ui.item.bib );
                        }
                        else
                        {
                            $( "#new_idbib" ).val( 'Ville ou Code Postal' );
                        }
                        $( "#idbib" ).val( ui.item.idbib );
                        return false;
                    },
                    select: function( event, ui ) {
                        if(ui.item.idbib!=0)
                        {
                            $( "#new_idbib" ).val( ui.item.bib );
                            $( "#new_idbib" ).attr('disabled', 'disabled');
                            $("#reset_bib").show();
                        }
                        else
                        {
                            $( "#new_idbib" ).val( 'Ville ou Code Postal' );
                        }
                        $( "#idbib" ).val( ui.item.idbib );
                        return false;
                    }
            })
             .data( "ui-autocomplete" )._renderItem = function( ul, item ) {
                return $( "<li>" )
                .append( "<a>" + item.bib + "<br>" + item.ville + "<br>" + item.cp + "</a>" )
                .appendTo( ul );
            };

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 04/05/2011, 11h06
  2. Recherche de type Autocomplete (JQuery ou YUI) combiné avec Select
    Par FrankOVD dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 06/04/2011, 15h51
  3. Réponses: 0
    Dernier message: 27/02/2011, 22h06
  4. Réponses: 1
    Dernier message: 18/08/2010, 17h33
  5. Autocomplete jquery
    Par saryry dans le forum jQuery
    Réponses: 5
    Dernier message: 20/07/2009, 19h07

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