是的,论坛里有很多问题,但不知怎的,对我来说都不行。我的工作并不是很特别。
我的自动填充功能会填充结果,但结果不会被过滤
我的代码是:
$("#empName").autocomplete({
source: function(request, response) {
$.ajax({
url: "api/clientEmp/of/" + sessionClientId + "/notingroup/" + groupId,
type: "GET",
dataType: "json",
data: {
term: $("#empName").val()
},
success: function(data) {
response($.map(data, function(item) {
return {
label: item.EmpName,
value: item.EmpId
};
}));
}
});
},
minLength: 0,
focus: function(event, ui) {
$("#empName").val(ui.item.label);
}
});
json输出是这样的
[
{
"EmpId": 26,
"EmpNum": "Rel-72015-31",
"EmpName": "R.durai"
},
{
"EmpId": 21,
"EmpNum": "REL-42015-22",
"EmpName": "Zishan"
},
{
"EmpId": 56,
"EmpNum": "Rel-22015-19",
"EmpName": "Raj Singh"
}
]
它巧妙地显示了选项,但是当我输入任何内容时,所有结果都显示出来并且不会被过滤
我错过了一段要求过滤结果的代码。任何人都可以建议。
提前感谢。
答案 0 :(得分:4)
$("#empName").autocomplete({
source: function(request, response) {
$.ajax({
url: "api/clientEmp/of/" + sessionClientId + "/notingroup/" + groupId,
type: "GET",
dataType: "json",
data: {
term: $("#empName").val()
},
success: function(data) {
var array = $.map(data, function(item) {
return {
label: item.EmpName,
value: item.EmpId
};
});
//call the filter here
response($.ui.autocomplete.filter(array, request.term));
}
});
},
minLength: 0,
focus: function(event, ui) {
$("#empName").val(ui.item.label);
}
});