自动填充问题:内容未显示

时间:2016-05-23 13:46:23

标签: php jquery json autocomplete

内容未显示为自动编译列表,如下面的屏幕截图所示。

Autocomplete Error

我收到了这个回复。

  

[{ “emp_number”:1,其中 “fname”: “尔斯兰”, “L-NAME”: “哈桑”},{ “emp_number”:2,其中 “fname”: “Muneeb”, “L-NAME”: “扬尤亚”   },{“emp_number”:3,“fname”:“hr”,“lname”:“user”},{“emp_number”:4,“fname”:“test”,“lname”:“”} .. ........ 取消让它在这里看起来更好 .......]

我的JS代码:

$( "#search-emp" ).autocomplete(
{
    source: function (request, response)
    {
        var form_data = {
            ajax                : '1',
            name                : $("#search-emp").val(),
            actioncall          : 'search-emp'
        };

        $.ajax({
            //contentType: "application/json",
            type: "POST",
            dataType: 'json',
            url: "_ajax.php",
            data: form_data,
            success: function( data )
            {
                response( data );
            }
        });
    },
    minLength:3,
    select:function(evt, ui)
    {
        alert(ui.item.emp_number);
    }
});

我想在选定的fname字段中显示lnameinput

1 个答案:

答案 0 :(得分:1)

问题是因为jQuery自动填充功能希望有2个名为labelvalue的字段。来自label的内容将显示在自动填充中。

由于您的服务器为密钥返回其他名称,因此您有两个选项:

  1. 更改服务器以返回json:

    [{"emp_number":1,"fname":"Arslan","lname":"Hassan", "label":"Arslan Hassan", "value": "Arslan Hassan"},....]

  2. 或者从ajax成功回调创建一个包含此字段(labelvalue)的数组,并将此数组传递给response()回调。

  3. 您可以在此处找到更多信息:http://api.jqueryui.com/autocomplete/#option-source