内容未显示为自动编译列表,如下面的屏幕截图所示。
我收到了这个回复。
[{ “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
字段中显示lname
和input
。
答案 0 :(得分:1)
问题是因为jQuery自动填充功能希望有2个名为label
和value
的字段。来自label
的内容将显示在自动填充中。
由于您的服务器为密钥返回其他名称,因此您有两个选项:
更改服务器以返回json:
[{"emp_number":1,"fname":"Arslan","lname":"Hassan", "label":"Arslan Hassan", "value": "Arslan Hassan"},....]
或者从ajax成功回调创建一个包含此字段(label
和value
)的数组,并将此数组传递给response()
回调。
您可以在此处找到更多信息:http://api.jqueryui.com/autocomplete/#option-source