我正在尝试格式化 jqueryui 自动完成下拉菜单,目前在下拉菜单中有一个州和城市列表,如下所示:
Boston Massachusetts
Seattle Washington
Atlanta Georgia
Waco Texas
Walla Walla Washington
我想将它们排成一行,以便各州排成一行:
Boston Massachusetts
Seattle Washington
Atlanta Georgia
Waco Texas
Walla Walla Washington
我怎么做?仅计算城市中的字符数,然后向字符较少的城市添加“填充符”是行不通的,因为它没有考虑字距调整和不同的字符宽度(即“W”与“i” )。
我已经尝试过monkeypatching,如此处所述,并尝试将下拉框格式化为表格,每个城市和州都在自己的列中。但是,表格元素不受 JQuery UI 的尊重,也不会更改格式。
有什么建议么?
function monkeyPatchAutocomplete() {
$.ui.autocomplete.prototype._renderItem = function( ul, item) {
var re = new RegExp(this.term, "i");
var l = item.label.replace(re,"<span style='font-weight:bold;color:#000;'>" + "$&" + "</span>");
var v = item.value.replace(re,"<span style='font-weight:bold;color:#000;'>" + "$&" + "</span>");
return $( "<li></li>" )
.data( "item.autocomplete", item )
.append( "<a>" + v + " " + l + "</a>" )
.appendTo( ul );
};
}