Autocompletion en jQuery
Voici un plugin jQuery facilitant l’autocompletion : Autocomplete. Il est très simple d’utilisation et il est facilement customisable. Comme d’habitude, rien de mieux qu’un exemple concret d’utilisation pour comprendre. Le fonctionnement de cet exemple est très simple et cumule des notions abordées auparavant. Au chargement de la page, l’ajax interroge un script PHP qui retourne un flux XML contenant plusieurs éléments (pouvant être issus d’une requête SQL). Il ne reste alors plus qu’a appeler la fonction pour déclencher l’autocompletion.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script src="jquery.js"></script>
<script type="text/javascript" src="jquery.autocomplete.pack.js"></script>
<style type="text/css">
.ac_results {
padding: 0px;
border: 1px solid black;
background-color: white;
overflow: hidden;
z-index: 99999;
}
.ac_results ul {
width: 100%;
list-style-position: outside;
list-style: none;
padding: 0;
margin: 0;
}
.ac_results li {
margin: 0px;
padding: 2px 5px;
cursor: default;
display: block;
/*
if width will be 100% horizontal scrollbar will apear
when scroll mode will be used
*/
/*width: 100%;*/
font: menu;
font-size: 12px;
/*
it is very important, if line-height not setted or setted
in relative units scroll will be broken in firefox
*/
line-height: 16px;
overflow: hidden;
}
.ac_loading {
/*background: white url('indicator.gif') right center no-repeat;*/
}
.ac_odd {
background-color: #eee;
}
.ac_over {
background-color: #0A246A;
color: white;
}
</style>
<script type="text/javascript">
// Lorsque la totalité de la page est chargée
$(document).ready(function() {
$.ajax({ // Requete ajax
type: "POST", // envoie en POST
url: "test.php", // url cible du script PHP
async: true, // mode asynchrone
data: "", // données envoyées
success: function(xml){ // Lorsque le PHP à renovyé une réponse
var elementsArray = new Array();
$(xml).find('element').each(function(){ // pour chaque "element"
elementsArray.push($(this).text()); // ajout dans le tableau
});
$("#example").autocomplete(elementsArray); // activation de l'autocompletion
}
});
});
</script>
</head>
<body>
Autocompletion : <input id="example" />
</body>
</html>
header ("content-type: text/xml");
echo "
<root>
<element>element 1</element>
<element>element 2</element>
<element>element 3</element>
<element>element 4</element>
<element>element 5</element>
<element>element 6</element>
<element>element 7</element>
<element>element 8</element>
<element>element 9</element>
<element>element 10</element>
<element>element 11</element>
</root>";
Tout ca pour donner :

Article(s) sur le même sujet :
- Appels ajax avec jQuery
- Lecteur tous formats en flash
- Google Maps API en PHP
Aucun trackback pour l'instant
2 septembre 2010 - 8 h 52 min
Tags: PHP, TYPO3
Posté dans PHP, TYPO3 | Aucun commentaire
Avec l’arrivée de extBase et Fluid, j’ai souvent entendu la question suivante : comment profiter de Fluid dans un plugin classique (n’étendant pas extBase)? Voici donc la démarche à adopter et un exemple de fonction. Vous pourrez alors profiter de la puissance du système de templating Fluid dans tous vos plugins. Instanciations des objets $renderer [...]
11 août 2010 - 13 h 18 min
Tags: Google, PHP
Posté dans Google, PHP | Aucun commentaire
Et voilà, enfin! On me la suffisamment demandé pour que je m’y penche. Voici donc l’implémentation de l’API Google Maps en v3. Concrètement, il y a pas mal de choses qui changent : Plus besoin de clef Optimisation du JS et donc de la génération de la map Optimisation pour les mobiles (android et iOs) [...]
21 avril 2010 - 13 h 41 min
Tags: PHP, TYPO3
Posté dans PHP, TYPO3 | 3 commentaires
Après une expertise récente d’un code source, j’ai eu envie de publier un article de rappel sur les injections SQL en PHP et TYPO3. Les injections SQL sont les failles les plus répandues et les plus dangereuses en PHP. Si on ne protège pas correctement son code, il est possible pour le « pirate » d’accéder à [...]
26 janvier 2010 - 14 h 55 min
Tags: MySQL, PHP, TYPO3
Posté dans MySQL, PHP, TYPO3 | Aucun commentaire
Juste un petit billet rapide pour vous informer d’une nouvelle section appelée « ressources ». Dans celle-ci, vous y retrouverez pas mal d’éléments (essentiellement des liens) essentiels à un développeur TYPO3 (ou plus généralement PHP). On pourra par exemple y retrouver un lien vers les « must have » de la documentation TYPO3. Je vais essayer au maximum de [...]
11 décembre 2009 - 12 h 21 min
Tags: PHP, TYPO3, Typoscript
Posté dans PHP, TYPO3, Typoscript | 1 commentaire
Lorsqu’un contenu est créer sur une page son rendu est affiché en frontend automatiquement, c’est le principe même de la gestion de contenu. On peut parfois avoir besoin de récupérer le contenu d’un objet de type « tt_content » en typoscript ou dans un plugin PHP. Par exemple, lors du mapping sous templavoila, il est possible d’insérer [...]
30 novembre 2009 - 22 h 01 min
Tags: PHP, TYPO3, Typoscript
Posté dans PHP, TYPO3, Typoscript | Aucun commentaire
Sans forcément refaire un article en repartant de zéro pour vous expliquer comment mettre en place realurl, je vous propose ici un exemple de fichier de configuration de realurl que vous pouvez mettre en place. Cette exemple se présente sous la forme du PHP à placer dans le fichier de configuration de realurl. Dans ce [...]
19 novembre 2009 - 7 h 59 min
Tags: PHP, TYPO3
Posté dans PHP, TYPO3 | Aucun commentaire
Lorsque l’on développe une extension, il peut être intéressant de prendre en charge la réécriture des paramètres passés en $_GET. Pour cela, sous TYPO3, on utilise généralement l’extension realurl. Cette extension fonctionne à l’aide d’une configuration particulière (sous forme de tableau) que l’on fait dans un fichier PHP. Ce fichier peut devenir vite volumineux si [...]
28 septembre 2009 - 19 h 20 min
Tags: PHP, TYPO3
Posté dans PHP, TYPO3 | Aucun commentaire
Suite à l’article que j’ai fait ici sur la manière dont on utilise le framework TYPO3 pour effectuer des requêtes, je me suis qu’il serait intéressant de montrer comment on peut requêter une autre base MySQL tout en utilisant le framework TYPO3 (et sans utiliser AdoDB). Pour cela le code à mettre en place est [...]
23 septembre 2009 - 7 h 27 min
Tags: PHP, TYPO3
Posté dans PHP, TYPO3 | 3 commentaires
Un petit rappel sur la manipulation des requêtes au sein de TYPO3 (une question qui revient souvent sur les forums ou en formation). Pour cela, vous devez utiliser l’objet $GLOBALS['TYPO3_DB'] qui est une instanciation de la connexion à la base. Voici les fonctions qui vous permettrons de manipuler facilement les tables. Requête de type SELECTquery [...]
18 septembre 2009 - 8 h 39 min
Tags: PHP
Posté dans PHP | 3 commentaires
Voici une fonction plutôt pratique qui vous permet de tronquer du texte tout en tenant compte du compte code HTML potentiel. Cette fonction est issue du framework CakePHP. Pour la description des paramètres, ils sont renseignés dans les commentaires de la fonction. /** * Truncates text. * * Cuts a string to the length of [...]
17 décembre 2009 - 17 h 08 min
Simpa cet exemple d’autocompletion !
Je vais l’essayer de suite ! Thanks encore
24 février 2010 - 17 h 25 min
Vraiment bien ce script.
26 mai 2010 - 17 h 29 min
Bonjour,
j’ai essayé le plugin, il fonctionne parfaitement mais j’aimerais l’utiliser avec une base de données, le problème qui se pose, c’est comment passé en paramètre les données saisies, je pense que c’est via l’attribut data (de l’exemple) mais je ne sais pas comment faire. Pourrais-tu m’éclarer ?
PS : je débute avec jquery
7 juin 2010 - 15 h 34 min
Bonjour,
Le script est impeccable. Sous FF 3.6.3, il fonctionne bien. Par contre, sous IE 8, la liste ne s’affiche pas. Est-ce que c’est normal ? Merci d’avance
14 juin 2010 - 10 h 49 min
Bonjour, idem ne fonctionne pas sous IE8, dont aucun interet
14 juin 2010 - 11 h 08 min
Bonjour et merci pour ton commentaire très constructif… En faite, tout simplement, le plugin à été repris par jQuery et n’est donc plus maintenu à l’URL donnée. Je ne peux bien sur pas maintenir chaque jour tous mes billets
Voir :
http://docs.jquery.com/Plugins/Autocomplete
http://docs.jquery.com/UI/Autocomplete
10 août 2010 - 10 h 53 min
J’ai testé hier le script et ça marche à merveille (sous FF).
1 septembre 2010 - 13 h 39 min
Il existe aussi un plugin jQuery nommé « gcomplete », pour une petite démonstration :
http://mdormeval44.free.fr/demos/002-autocompletion-avec-jquery.html