我有AJAX源的jQuery UI自动完成输入,我想在选中时在建议和文本框中显示标签,但我希望id进一步搜索。如何在幕后获取ID,以便我可以使用它进行进一步搜索,但是仍然在前面显示标签?
此外,建议(结果)太多并且在页面上显示一个大滚动,是否有任何方法可以根据用户类型限制或一次只显示少量记录? 到目前为止,这是我的代码:(到目前为止,建议/选择正在进行,但其传递的标签/值用于进一步搜索)
HTML:
<input type="text" name="CountyID" id="CountyID">
JSON:
[{"countyid":1302010,"name":"Fort Bend"},{"countyid":1011416,"name":"Houston"},{"countyid":1166827,"name":"Harris"}
的jQuery / AJAX:
$("#ShowID").autocomplete({
source: function (request, response) {
var matcher = new RegExp( $.ui.autocomplete.escapeRegex(request.term), "i" );
$.ajax({
url: 'path/listCounty',
type: 'GET',
data: {State:StateID},
dataType: 'json',
success: function (data) {
response($.map(data.slice(0,10), function(v,i){
var text = v.name;
if ( text && ( !request.term || matcher.test(text) ) ){
return {
label: v.name,
value: v.name,
id: v.countyID
};
}
}));
}
});
},
minLength:2,
delay: 100,
select: function(event, ui) {
var e = ui.v;
var result = "value= " + e.id;
$("#ShowID").append(result);
}
});
答案 0 :(得分:0)
您可以将所选的countyId保存在隐藏字段中&#34;选择&#34;自动完成功能并使用该值进行进一步搜索
请参阅与您https://stackoverflow.com/a/7617637/4868839相同的问题。 此外,如果您已经知道有多少结果可以限制服务器端本身的响应,这也会提高性能。