2009-08-05 82 views
0

我有一個自動完成框,填充應用程序的用戶列表。它在列出用戶的框中工作正常。如何從cakephp中的自動完成框中選擇多個條目?

但我只能選擇一個用戶。如何從列表中選擇多個用戶? 還有如何將所選用戶的名稱保存在變量或數組中?

編輯

我使用CakePHP的框架內置的自動完成功能。這是生成自動完成文本框的控制器中的操作。

function autoComplete() 
{ 
    $this->set('users',$this->User->find('all',array(
            'fields'=>array('User.id','User.name'), 
    'conditions'=>array('User.name LIKE' => $this->data['User']['name'].'%')))); 

    $this->layout = "ajax"; 
} 

這是auto_complete.ctp文件

<ul> 
    <?php foreach($users as $user): ?> 
     <li><?php echo $user['User']['name']; ?></li> 
    <?php endforeach; ?> 
</ul> 

而這正是我有自動完成框的觀點:

<?php echo $form->create('User', array('url' => '/forms/share')); ?> 

    <?php echo $ajax->autoComplete('User.name', '/forms/autoComplete');?> 

<?php echo $form->end('Share');?> 

在自動完成框,我能夠只選擇一個用戶名。我如何使用逗號或空格分隔符來選擇多個用戶?

+0

這將有助於更多地瞭解自動完成框如何填充和顯示。例如,它是由ajax調用填充,並呈現爲HTML覆蓋或是多選框(使用窗體控件)? – 2009-08-05 18:28:31

回答

1

我不認爲AjaxHelper可以生成多選自動完成框,這不是它設計的目的。恐怕你不得不推出你自己的解決方案。既然你已經通過Ajax獲得了一個不錯的列表,這應該不會太麻煩。

如果你想要類似Stack Overflow標記框的東西,你可以通過在Helper中放置一些Javascript回調來獲得,如果你正在尋找一個基於複選框的列表,你需要自己做。

+0

我需要類似堆棧溢出標記框。你能指導我如何做到這一點嗎? – Angeline 2009-08-06 05:00:09

相關問題