我正在使用JörnZaefferer的自动完成插件1.2.2。我无法使用Jquery UI中包含的较新版本的插件。我链接到我的服务器上的脚本,该脚本在搜索中发送作业名称或作业ID:
return_arr = array();
/* If connection to database, run sql statement. */
if ($connect)
{
$fetch = mysql_query("SELECT * FROM jobs WHERE job_name LIKE '%". mysql_real_escape_string($_GET['q']) ."%' OR insert_id LIKE '%". mysql_real_escape_string($_GET['q']) ."%' ORDER BY job_name ASC");
/* Retrieve and store in array the results of the query.*/
while ($row = mysql_fetch_array($fetch, MYSQL_ASSOC)) {
$key = $row['job_name']."-".$row['insert_id'];
array_push($return_arr,$key);
}
}
/*Sort Array*/
foreach ($return_arr as $value) {
echo "$value\n";
}
我在javascript中使用以下设置:
$("#job_select").autocomplete('../lib/job_select2.php', {
minChars: 0,
autoFill: true,
mustMatch: true,
matchContains: false,
scrollHeight: 220
});
当我在字段中键入作业名称时,会显示由搜索字符串构建的作业列表。当我退出该字段时,输入仍然存在。
当我输入jobid时,它会向我显示一个作业列表,但是当我跳出该字段时,该条目将消失。我知道那是因为mustMatch是真的,但我需要将其设置为true。我不想接受数据库中尚未存在的任何输入。
非常感谢任何帮助。
由于
答案 0 :(得分:0)
如果你阅读了文档,2010年的评论说不赞成插件。您可能遇到的问题是当前版本的jQuery比不推荐使用的插件支持更多。尝试jQueryUI自动完成作为替代,并在文档中使用sugegsted。
http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/