单击jQuery自动完成将整个列表输入到输入

时间:2011-10-17 15:43:33

标签: php jquery jquery-autocomplete

我正在使用jQuery进行自动填充,当我点击列表中的1项时,输入会获取列表中的所有项目(甚至是< li> ..< / li>)

这是我称之为

的脚本
       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>

此外,当我输入内容时,它无法获得它。我必须快速输入以获得正确的查询

2 个答案:

答案 0 :(得分:0)

要修正正确的查询,您可以在搜索前添加延迟选项或minChars:http://docs.jquery.com/Plugins/Autocomplete/autocomplete#url_or_dataoptions

要获取文字,请尝试:$("#ac3").text(ui.item.label.text());

答案 1 :(得分:0)

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

EG:

echo“$ key | $ value \ n”;

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