以下是我使用 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 );
};
这是一个有用的链接