テーブルから値を取得するアプリケーションでオートコンプリートボックスを作成しようとしています。cakephpのオートコンプリートメソッドの手助け
ユーザーテーブルでフォームを共有したいと考えています。私は 'Share'というリンクを持っています。リンクをクリックすると、オートコンプリートボックスが生成されます。
これで、テキストボックスに任意の文字を入力すると、自動的に提案されます。
これは
<?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>
/views/main/home.ctpこれは私の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>
そして、この/views/forms/auto_complete.ctp forms_controllerでこの機能:/フォーム/オートコンプリート
function autoComplete()
{
$this->set('users',$this->User->find('all',array('conditions'=>array('User.name LIKE' => $this->data['User']['name'].'%'))));
$this->layout = "ajax";
}
I iは、auto_complete.ctpファイル内の結果を得ます.e、autoCompleteテキストボックスに文字 's'を入力すると、そのファイルに対応するユーザーが表示されますが、テキストボックスにその値が表示されません。誰かが私を助けてください。