Jquery自动完成插件版本1.2.2无法正常工作

时间:2012-06-18 19:51:10

标签: mysql jquery autocomplete

我正在使用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。我不想接受数据库中尚未存在的任何输入。

非常感谢任何帮助。

由于

1 个答案:

答案 0 :(得分:0)

如果你阅读了文档,2010年的评论说不赞成插件。您可能遇到的问题是当前版本的jQuery比不推荐使用的插件支持更多。尝试jQueryUI自动完成作为替代,并在文档中使用sugegsted。

http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/