如何从cakephp中的自动完成框中选择多个条目?

时间:2009-08-05 06:49:00

标签: cakephp autocomplete

我有一个自动完成框,其中填充了应用程序的用户列表。列出用户的方框工作正常。

但我只能选择一个用户。如何从列表中选择多个用户? 以及如何将所选用户的名称保存在变量或数组中?

修改

我正在使用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');?>

在自动完成框中,我只能选择一个用户名。如何使用逗号或空格分隔符选择多个用户?

1 个答案:

答案 0 :(得分:1)

我不认为AjaxHelper可以生成多选自动完成框,它不是它的设计目的。我担心你必须推出自己的解决方案。既然你已经通过Ajax获得了一个很好的列表,那应该不会太麻烦。

如果你想要像Stack Overflow标签盒这样的东西你可以通过在Helper中放置一些Javascript回调来获得,如果你正在寻找一个基于复选框的列表,你需要自己做。