J'essaie d'avoir une boîte automatique complète dans mon application, où les valeurs sont extraites d'une table.Aide avec la méthode auto complete dans cakephp
Je souhaite partager un formulaire avec un ensemble d'utilisateurs dans la table Utilisateurs. J'ai un lien appelé «Partager» et quand je clique sur le lien, la boîte de saisie semi-automatique est générée. Maintenant, quand je tape n'importe quelle lettre dans la zone de texte, je veux que ce soit automatiquement suggéré.
Ceci est mon fichier de vue, /views/main/home.ctp
<?php echo $javascript->link('prototype');?>
<?php echo $javascript->link('scriptaculous');?>
<?php echo $javascript->link('effects');?>
<?php echo $javascript->link('controls');?>
$(document).ready(function(){
$(".Share<?=$r['Form']['id'];?>").click(function(){
$("#share<?=$r['Form']['id'];?>").toggle("show");
});
});
<li id="Share<?php echo $r['Form']['id']?>">
<a href="#" class="Share<?=$r['Form']['id'];?>">Share</a>
<div id="share<?php echo $r['Form']['id']?>">
<?php echo $form->create('User', array('url' => '/forms/share'));?>
<?php echo $ajax->autoComplete('User.name', '/forms/autoComplete');?>
<?php echo $form->end('Share');?>
</div>
</li>
Ceci est mon fichier auto_complete.ctp: /views/forms/auto_complete.ctp
<?php echo $javascript->link('scriptaculous.js');?>
<?php echo $javascript->link('prototype.js');?>
<ul>
<?php foreach($users as $user): ?>
<li><?php echo $user['User']['name']; ?></li>
<?php endforeach; ?>
</ul>
Et ce cette fonction dans le forms_controller:/formes/autoComplete
function autoComplete()
{
$this->set('users',$this->User->find('all',array('conditions'=>array('User.name LIKE' => $this->data['User']['name'].'%'))));
$this->layout = "ajax";
}
Je reçois les résultats dans le fichier auto_complete.ctp, i .e, si je tape la lettre 's' dans la boîte de texte autoComplete, j'obtiens les utilisateurs correspondants dans ce fichier, mais je n'obtiens pas ces valeurs dans la zone de texte. Quelqu'un m'aide s'il vous plait.