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 :

autocompletion avec jquery


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 051
    Par défaut autocompletion avec jquery
    Bonjour,

    J'essaie depuis hier d'utiliser l'autocompletion de jquery, cependant j'ai un soucis.

    En fait le script fonctionne presque bien, sauf qu'il se base toujours sur ma 1ere lettre que j'écris dans le champ texte. En gros un exemple :
    Table A :
    ID nom
    1 Paris
    2 Prague

    Quand j'écris dans mon champ texte "P" il me liste bien les deux ville, cependant si je continue avec "Pa", il continue de m'afficher les deux, en gros il ne fait pas le tri sur la 2eme lettre.

    Voici les fonctions dans le index.php :
    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
    <script type="text/javascript">
    	function lookup(inputString) {
    		if(inputString.length == 0) {
    			// Hide the suggestion box.
    			$('#suggestions').hide();
    		} else {
    			$.post("pages/Autocompletion.php", {queryString: ""+inputString+""}, function(data){
    				if(data.length >0) {
    					$('#suggestions').show();
    					$('#autoSuggestionsList').html(data);
    				}
    			});
    		}
    	} // lookup
     
    	function fill(thisValue) {
    		$('#inputString').val(thisValue);
    		setTimeout("$('#suggestions').hide();", 200);
    	}
    </script>
    Le script php appelé par la fonction js :
    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
    <?php
            $db = new mysqli('localhost', 'nom_user' ,'password', 'nom_table');
            if(!$db) {
                    // Show error if we cannot connect.
                    echo 'ERROR: Could not connect to the database.';
            } else {
     
                    if(isset($_POST['queryString'])) {
                            $queryString = $db->real_escape_string($_POST['queryString']);
                            
                            if(strlen($queryString) >0) {
     
                                    $query = $db->query("SELECT Nom_ville FROM ville WHERE Nom_ville LIKE '".$queryString."%' ");
                                    if($query) {
     
                                            while ($row = mysqli_fetch_object($query)) 
                                            {
                                            echo '<li onClick="fill(\''.$row->Nom_ville.'\');">'.$row->Nom_ville.'</li>';
                                    }
                                    } else {
                                            echo 'ERROR: There was a problem with the query.';
                                    }
                            } else {
                                    // Dont do anything.
                            } // There is a queryString.
                    } else {
                            echo 'There should be no direct access to this script!';
                    }
            }
    ?>
    et le formulaire :
    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
    echo"<div>
    		<form>
    			<div>
    				Nom de la ville:
    				<br />
    				<input type=\"text\" size=\"30\" value=\"\" id=\"inputString\" onkeyup=\"lookup(this.value);\" onblur=\"fill();\" />
    			</div>
     
    			<div class=\"suggestionsBox\" id=\"suggestions\" style=\"display: none;\">
    				<img src=\"upArrow.png\" style=\"position: relative; top: -12px; left: 30px;\" alt=\"upArrow\" />
    				<div class=\"suggestionList\" id=\"autoSuggestionsList\">
    					&nbsp;
    				</div>
    			</div>
    		</form>
    	</div>";
    C'est un script que j'ai trouvé sur le net, je l'ai modifié très légèrement mais ca fonctionner pas au début non plus.

    Pourtant ma requête tri bien sur $variable.% lors de l'appel ..

    Une idée ?

    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 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
    tu as oublié de preciser le dataType json
    jette un oeil sur ce post
    http://www.developpez.net/forums/d11...odes-post-get/
    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
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 051
    Par défaut
    Merci pour la réponse, cependant sur le script original (demo ici) il ne précise rien, car sur le lien que tu m'envoies, le code php n'est pas tout à fait pareil, j'aimerais pas mélanger deux codes différents :/ Car je débute en jquery

    Car j'ai tenté de rajouté "json" comme paramètre dans la fonction, sans succès.

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

Discussions similaires

  1. [MySQL] Autocompletion avec JQuery - Problème encodage
    Par 4rocky4 dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 12/09/2012, 14h13
  2. Autocompletion avec Jquery
    Par Mr_Exal dans le forum jQuery
    Réponses: 9
    Dernier message: 29/11/2011, 10h11
  3. autocompletion avec jquery
    Par kaking dans le forum jQuery
    Réponses: 5
    Dernier message: 25/10/2011, 09h39
  4. Autocomplete avec JQuery - caractères avec accents
    Par DarkSeiryu dans le forum jQuery
    Réponses: 1
    Dernier message: 24/06/2010, 15h24

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