2009-08-03 13 views
0

テーブルから値を取得するアプリケーションでオートコンプリートボックスを作成しようとしています。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'を入力すると、そのファイルに対応するユーザーが表示されますが、テキストボックスにその値が表示されません。誰かが私を助けてください。

答えて

1

私は自分自身で答えを見つけました。

JQueryを使用すると、cakephpのオートコンプリート機能が動作しません。

は、私はそれが働いている

<?php echo $javascript->link('jquery');?> 

とラインを...削除

EDIT:

あなたもjQueryを使って仕事をしたいとjquery.jsファイルが必要な場合は、あなたが考え_その他_図書館

とサイト http://docs.jquery.com/Using _ jQueryの _に与えられたとして、jQueryのでノー競合モードを有効にする必要があります
関連する問題