這裏是我是如何做到的使用jQuery UI的_renderItem方法: 注意,我必須打破長款到行50個字符的寬度。
$("#id_info").autocomplete({
source: function(request, response) {
$.ajax({
type: "POST",
url: "/api",
contentType: "application/json; charset=utf-8",
headers: {'X-CSRFToken': '{{ csrf_token }}'},
timeout: 5000,
data: JSON.stringify({
term: request.term,
task: 'search',
}),
success: response,
dataType: 'json',
});
},
minLength: 0,
select: function(event, ui) {
ui.item.value = ui.item.id;
}
}).autocomplete("instance")._renderItem = function(ul, item) {
var width = 50; // num of characters
var broken_para = '';
var pre_ind = 0;
var ind = item.label.indexOf(' ', width);
while(ind > 0){
broken_para = broken_para + '<br>' + item.label.substring(pre_ind, ind);
pre_ind = ind;
ind = item.label.indexOf(' ', ind + width);
}
broken_para = broken_para + '<br>';
return $("<li>")
.append(broken_para)
.appendTo(ul);
};
這裏是一個useful link
來源
2017-07-26 21:45:55
max
THX爲。是的,我知道一個。但我還沒有看到任何使用jQuery-autocomplete的例子,並能夠在多行顯示下拉列表。 – luftikus143
檢查這個鏈接。我認爲這會幫助你。 http://forum.jquery.com/topic/using-html-in-autocomplete http://stackoverflow.com/questions/7180246/cant-override-jquery-ui-autocomplete-renderitem-method-multiple-times – Amar