0
$(elem).autocomplete({
source: function(request, response) {
if (!names.length){
names = [NoResultsLabel];
}
response(names);
},
response: function (event, ui) {
ui.content.push({
label: "<button style=\"float:left;\" class=\"btn btn-default\" id=\"optionless\" onclick=\"previousSchools('"+elem.id+"','"+elem2.id+"')\"><<</button> <button style=\"float:right;\" class=\"btn btn-default\" id=\"optionless\" onclick=\"newSchools('"+elem.id+"','"+elem2.id+"')\">>></button>",
button: true
});
},
select: function (event, ui) {
if (ui.item.label === NoResultsLabel) {
event.preventDefault();
}
for(var i=0;i<data.schools.length;i++){
if(ui.item.label == names[i]){
elem2.value = ids[i];
i = data.schools.length;
}
}
},
close: function(event, ui) {
requests_schools = 0;
}
});
$.ui.autocomplete.prototype._renderItem = function (ul, item) {
if(item.label == '<button style="float:left;" class="btn btn-default" id="optionless" onclick="previousSchools($(elem))"><<</button> <button style="float:right;" class="btn btn-default" id="optionless" onclick="newSchools($(elem))">>></button>')
return $("<li class='button-element'></li>")
.data("item.autocomplete", item)
.html(item.label)
.appendTo(ul);
return $("<li></li>")
.data("item.autocomplete", item)
.html(item.label)
.appendTo(ul);
};
openSchoolsSuggestions(elem);
这是自动完成的,我已经具有相同名称略有差别,所以我通过在响应添加按钮设计定制的“分页程序”,许多成果,就是它的工作原理第一页,但未来它关闭自动完成窗口,并删除输入(名称)值jQuery的自动完成搜索无法正常工作第二次
下,为分页程序之前的功能:
function newSchools(elemx,elem2){
var elem = $('#'+elemx);
if(requests_schools < 0)
requests_schools = 0;
requests_schools++;
var value = elem.val();
elem.autocomplete("destroy");
elem.val(value);
getSchools(document.getElementById(elemx),document.getElementById(elem2));
}
function previousSchools(elemx,elem2) {
var elem = $(elemx);
requests_schools--;
if (requests_schools >= 0) {
var value = elem.val();
elem.autocomplete("destroy");
elem.val(value);
getSchools(document.getElementById(elemx),document.getElementById(elem2));
}
}
function openSchoolsSuggestions(elem){
elem = $(elem);
elem.autocomplete("search");
}