我正在做一个需要“产品搜索”的项目,该项目将显示一个带有产品名称和价格的网格。
我正在使用带有 Autocomplete 小部件的 jQuery UI 来实现这一点,而且我几乎可以按照我的意愿工作。
为了显示“网格”,我通过覆盖 _renderItem 函数,每行使用浮动 div 作为假表格单元格:
$('#search').autocomplete().data("ui-autocomplete")._renderItem = function(ul, item){
var line_item = '';
line_item += "<a><div class='search_row'>";
line_item += "<div class='sku'>"+item.sku+"</div>";
line_item += "<div class='product_name'>"+item.label+"</div>";
line_item += "<div class='product_price'>ET:"+item.price+"</div>";
line_item += "</div></a>";
return $("<li>")
.append(line_item)
.appendTo(ul);
};
网格限制为 400px 高度,垂直滚动。
我现在唯一的问题是我希望顶部有一些固定的标题,它们不会滚动。
我尝试使用类似的东西:
$('#search').autocomplete().data("ui-autocomplete")._renderMenu = function(ul, items){
var self = this;
$.each(items, function(index, item){
if(index == 0){
ul.append('<li><div style="position:fixed; background-color:blue;">TEST HEADERS</div></li>');
}
self._renderItem(ul, item);
});
};
但后来我又遇到了另一组布局问题。
是否有另一种(“更本地”)的方式来做到这一点?
谢谢!