自动完成Jquery不显示结果

时间:2012-11-01 23:20:51

标签: jquery-ui jquery jquery-autocomplete jquery-ui-autocomplete

我使用Jquery autocomplete并且我有以下代码:

客户方:

    $( "#tags" ).autocomplete({
    source: function(request, response) {
        $.ajax({
            url: "get_professionals",
            data: request,
            dataType: "json",
            type: "POST",
            success: function(data){
                alert("hello");
            }
        });
    }  
});

服务器端:

function get_professionals() {
    if ($_POST["term"]):
        $professionals = Professional::find('all', array('conditions' => "name LIKE '%" . $_POST["term"] . "%'"));
        foreach ($professionals as $professional):
            echo $professional->to_json();
        endforeach;  
    endif;
}

网址是对的,事实上,我从服务器获取结果(我在Firebug中检查了#34;帖子"标签)但没有显示

1 个答案:

答案 0 :(得分:1)

The autocomplete requires a label and/or value field to be returned in the data.

  
    

数组:数组可用于本地数据。有两种支持的格式:

         

字符串数组:[“Choice1”,“Choice2”]

         

具有标签和值属性的对象数组:[{label:“Choice1”,value:“value1”},...]

         

标签属性显示在建议菜单中。当用户选择项目时,该值将插入到input元素中。如果仅指定了一个属性,则它将用于两者,例如,如果仅提供值属性,则该值也将用作标签。

  

调整查询以在value和/或label字段中的自动填充中返回您想要的内容。

SELECT name AS label, id AS value from professionals.....

或者,返回值的其他一些方法,如上面的文档中的粗体示例。例如,您可以在成功函数中设置labelvalue字段:

success: function(data) {
    response($.map(data, function(item) {
        return {
                label: item.name,
                id: item.id
                };
        }));
      }