我试图弄清楚如何根据搜索查询创建辅助输入字段。最好的例子是当人们开始在 google 或 facebook 搜索栏中写东西时看到的下拉菜单,以帮助用户输入。
我的客户要求将此作为一项功能,但我不知道如何在 FormHelper 类中实现它。有任何想法吗?也许在哪里寻找答案?
您需要的是 JQuery UI 的自动完成功能:http: //jqueryui.com/autocomplete/
这是使用 Javascript 完成的前端工作。您唯一需要后端的可能是指定用户在下拉列表中的可能选项。
这样做的一种方法是使用一个数组来填充availableTags
参数。例如,静态自动完成可能具有以下内容(取自上面链接页面上的示例):
var availableTags = [
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL",
"ColdFusion",
"Erlang",
"Fortran",
"Groovy",
"Haskell",
"Java",
"JavaScript",
"Lisp",
"Perl",
"PHP",
"Python",
"Ruby",
"Scala",
"Scheme"
];
您可以使用 Cakephp 将标签存储在一个数组中,并在您的视图中执行以下操作:
var availableTags = [
<?php foreach ($tags_array as $tag) echo '"' . $tag . '",'; ?>
];