Jquery-ui自动完成DB

时间:2011-09-14 06:34:31

标签: javascript jquery jquery-ui select input

请建议使用php和mysql提供jquery ui qutomplete的好教程,或者帮我解决我的代码问题。尝试了所有方法。找不到错误的代码。

我的php代码看起来像那样

if (isset($_REQUEST['term']))
{
    $term = trim(strip_tags($_REQUEST['term']));//retrieve the search term that autocomplete sends

    $result = $db->query("SELECT company as value,id FROM main WHERE company LIKE '$term'") or die(mysqli_error());;
    $results = array();
    while ($row = $result->fetch_row()) $results[] = array( 'id' => $row[0] , 'label' => $row[1], 'value' => $row[1] );
    echo json_encode($results);
}

下面的Js代码

$("#auto").autocomplete({
    source: "index.php",
    minLength: 2,//search after two characters
    select: function(event,ui){
    }
});

和HTML标记

<input id="auto" name="company"/>

代码有什么问题?它不会生成自动完成选项..在php日志文件中没有错误。如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

源参数必须是字符串,数组或回调类型,以及“Defines the data to use”,而不是用于获取它们的页面。你应该使用类似的东西(见here for an example):

    $("yourSelector").autocomplete({  
        source: function(req, add){  
            $.get("index.php?...", function(data) {  
                var returnData= [];  
                $.each(data, function(i, val){  
                  returnData.push(val.property);  
                });  
                add(returnData);  
            });  
        }, [...]