2008-10-20 6 views
6

Je crée une application web pour le travail où l'utilisateur doit entrer le nom de la personne qui a demandé le travail. Je souhaite créer une liste déroulante de suggestion automatique AJAX simple afin de ne pas avoir à taper le nom complet. Sur le backend, la base de données fournira des suggestions basées sur les entrées précédentes. Le site est construit en utilisant CakePHP 1.1.Quelle est la meilleure bibliothèque pour créer une zone de texte à suggestion automatique AJAX dans un formulaire Web?

Je sais qu'il y a beaucoup de bibliothèques, certaines meilleures que d'autres. Selon vous, lequel est le plus rapide et le plus facile à mettre en œuvre?

+0

La réponse choisie est la meilleure réponse pour CakePHP, mais j'aime la version de Brand Spanking New car elle ne nécessite pas la bibliothèque script.aculo.us très lourde. –

Répondre

5

Puisque vous utilisez CakePHP 1.1 Je vous suggère de vérifier la partie manuelle qui traite Helpers

Si vous allez à « AJAX », vous pouvez voir que vous pouvez faire quelque chose comme ça dans votre contrôleur:

function autocomplete() { 
    $this->set('people', 
    $this->Person->findAll("name LIKE '%{$this->data['Person']['name']}%'") 
    ); 
    $this->layout = "ajax"; 
} 

Et dans votre autocomplete.thtml vue, vous auriez:

<ul> 
<?php foreach($people as $person): ?> 
<li><?php echo $person['Person']['name']; ?></li> 
<?php endforeach; ?> 
</ul> 

Et pour créer le autocomplete f ield dans une autre vue, vous feriez:

<form action="/people/index" method="POST"> 
<?php echo $ajax->autoComplete('Person/name', '/people/autocomplete/')?> 
<?php echo $html->submit('View Person')?> 
</form> 

Pour que cela fonctionne, vous devez avoir « Ajax » dans votre tableau helpers, et ont les bibliothèques Prototype/script.aculo.us inclus.

Bonne chance.

2

J'ai eu beaucoup de succès avec l'implémentation de l'auto-suggestion de Brand Spanking New. Il comprend aussi des exemples PHP.

+0

Upvote uniquement pour votre avatar. – MrBoJangles

Questions connexes