Php jQuery在单击时自动完成将整个列表添加到输入中

Php jQuery在单击时自动完成将整个列表添加到输入中,php,jquery,jquery-autocomplete,Php,Jquery,Jquery Autocomplete,我正在使用jQuery进行自动完成,当我单击列表中的一个项目时,输入将获得列表中的所有项目,甚至。 这就是我所说的脚本 if($_GET['q']) { $queryString = $db->real_escape_string($_GET['q']); if(strlen($queryString) >0) { $query = $db->query("SELECT * FROM .... WHERE

我正在使用jQuery进行自动完成,当我单击列表中的一个项目时,输入将获得列表中的所有项目,甚至
  • 这就是我所说的脚本

           if($_GET['q']) {
            $queryString = $db->real_escape_string($_GET['q']);
    
            if(strlen($queryString) >0) {
    
                $query = $db->query("SELECT * FROM .... WHERE name LIKE '%$queryString%'");
                if($query) {
                    while ($result = $query ->fetch_object()) {
    
                        echo "<li>$result->name</li>";
    
    
                    }
                } else {
                    echo 'ERROR: There was a problem with the query.';
                }
            } else {
                // Dont do anything.
            } // There is a queryString.
        } else {
            echo 'There should be no direct access to this script!';
        }
    
    这是jQuery

    <script type="text/javascript">
    $(function() {
    $("#ac3").autocomplete({
        url:'searchcond.php',   
         select: function(event, ui) {
            console.dir(ui);
            event.preventDefault();
            $("#ac3").text(ui.item.label);
        }
        });
        });
    </script>
    

    而且,当我键入某个内容时,它不会得到它。我必须快速键入以获得正确的查询

    要修复正确的查询,您可以在搜索之前添加延迟或minChars选项:


    要获取文本,请尝试:$ac3.textui.item.label.text

    我记得jquery autocomplete只需要每行响应一个键值列表,而不是UL-LI列表:

    例如:

    echo$key |$value\n

    while ($result = $query ->fetch_object()) {
         echo "$result->name\n";
    }
    

    谢谢你,但这很有效。我不知道是什么,但它也影响了结果!我指的是上述解决方案