我有一个自动完成框,其中填充了应用程序的用户列表。列出用户的方框工作正常。
但我只能选择一个用户。如何从列表中选择多个用户? 以及如何将所选用户的名称保存在变量或数组中?
修改
我正在使用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 :(得分:1)
我不认为AjaxHelper可以生成多选自动完成框,它不是它的设计目的。我担心你必须推出自己的解决方案。既然你已经通过Ajax获得了一个很好的列表,那应该不会太麻烦。
如果你想要像Stack Overflow标签盒这样的东西你可以通过在Helper中放置一些Javascript回调来获得,如果你正在寻找一个基于复选框的列表,你需要自己做。