我有一个 jQuery UI 自动完成绑定到一个输入元素和一个自定义显示自动完成框中的项目。每个项目都有多行,我想将项目彼此清楚地分开,例如使用一个<hr />
元素。以下工作,但它也在<hr />
最后一项之后呈现一个元素:
$(function () {
$("#Customer").autocomplete({
source: "/SomePath/SearchCustomers?term=ABC",
select: function (event, ui) {
$("#CustomerId").val(ui.item.customerId);
return false;
}
})
.data("autocomplete")._renderItem = function (ul, item) {
var renderedItem = $("<li></li>")
.data("item.autocomplete", item)
.append("<a>" + item.customerId + ", " + item.name + "<br />"
+ item.addressLine1 + "<br />"
+ item.countryCode + ", " + item.city + "</a>");
// if (IsNotTheLastItem(item)) <-- Is something like this possible?
renderedItem = renderedItem.append("<hr />");
renderedItem = renderedItem.appendTo(ul);
return renderedItem;
};
});
(代码源自此处的示例:http: //jqueryui.com/demos/autocomplete/#custom-data(单击“查看源代码”)。)
是否可以确定我要渲染的项目是否是最后一个项目(如上面的注释行所示)?或者是否有一些替代方法可以在项目之间添加分隔符,但不是在最后一项之后?