我正在创建一个用于工作的Web应用程序,用户必须输入请求该作业的人员的姓名。我想创建一个简单的AJAX自动建议下拉列表,这样他们就不需要输入整个名称了。在后端,数据库将根据以前的条目提供建议。该网站使用CakePHP 1.1构建。
我知道那里有很多图书馆,有些图书馆比其他图书馆好。您认为哪种方法最快,最容易实施?
答案 0 :(得分:5)
由于您使用的是CakePHP 1.1,我建议您查看处理Helpers的手册部分
如果你去'AJAX',你可以看到你可以在你的控制器中做这样的事情:
function autocomplete () {
$this->set('people',
$this->Person->findAll("name LIKE '%{$this->data['Person']['name']}%'")
);
$this->layout = "ajax";
}
在autocomplete.thtml
视图中,您可以:
<ul>
<?php foreach($people as $person): ?>
<li><?php echo $person['Person']['name']; ?></li>
<?php endforeach; ?>
</ul>
要在另一个视图中创建自动填充字段,您可以执行以下操作:
<form action="/people/index" method="POST">
<?php echo $ajax->autoComplete('Person/name', '/people/autocomplete/')?>
<?php echo $html->submit('View Person')?>
</form>
为了实现这一点,您需要在helpers
数组中使用“Ajax”,并包含Prototype / script.aculo.us库。
答案 1 :(得分:2)
我在Brand Spanking New的Auto-Suggest实施方面取得了巨大成功。它也包括PHP示例。
答案 2 :(得分:1)
jQuery不会出错。 http://nodstrum.com/2007/09/19/autocompleter/