我需要在自动完成的结果列表中添加另一个元素。此元素不应该是可点击的,应该作为搜索列表中的信息。
我正在尝试以下代码并使用appendTo选项,但它似乎无法正常工作
var acOptions = {
source: userNames,
minLength: 1,
appendTo: "<li class='ui-menu-item' role='menuitem'>Search by username </li>"
};
$('input.userName').autocomplete(acOptions);
有人可以在这里指导我吗?
答案 0 :(得分:4)
这是http://jqueryui.com/demos/autocomplete/#categories你正在寻找的吗? 这是一个有效的演示http://jsfiddle.net/pomeh/XJ47e/。
HTML代码
<div class="demo">
<label for="search">Search: </label>
<input id="search" />
</div>
<p>A categorized search result. Try typing "a" or "n".</p>
Javascript代码
$.widget("custom.catcomplete", $.ui.autocomplete, {
_renderMenu: function(ul, items) {
var self = this,
currentCategory = "";
$.each(items, function(index, item) {
if (item.category != currentCategory) {
ul.append("<li class='ui-autocomplete-category'>" + item.category + "</li>");
currentCategory = item.category;
}
self._renderItem(ul, item);
});
}
});
var data = [
{ label: "anders", category: ""},
{ label: "andreas", category: ""},
{ label: "antal", category: ""},
{ label: "annhhx10", category: "Products"},
{ label: "annk K12", category: "Products"},
{ label: "annttop C13", category: "Products"},
{ label: "anders andersson", category: "People"},
{ label: "andreas andersson", category: "People"},
{ label: "andreas johnson", category: "People"}
];
$("#search").catcomplete({
delay: 0,
source: data
});
CSS代码
.ui-autocomplete-category {
font-weight: bold;
padding: .2em .4em;
margin: .8em 0 .2em;
line-height: 1.5;
}