Я использую автозаполнение jquery, и я хочу обернуть autocomplete ul внутри div. Я использую этот код для настройки вывода li для включения изображений, но я хочу обернуть его внутри div
$( "#searchy-input" ).autocomplete({
minLength: 2,
source: "/search_suggestions",
focus: function( event, ui ) {
$( "#searchy-input" ).val( ui.item.name );
return false;
}
})
.data( "ui-autocomplete" )._renderItem = function( ul, item ) {
return $( "<li class='customClass'>" )
.append( "<a href='"+item.link+"'><div class='_20'><img class='_80 hg30p' src='"+ item.avatar+"'/></div><div class='span1 mg _60'>" + item.name + "</div></a>" )
.appendTo( ul );
}
что-то вроде этого учебника
http://www.webdesignerdepot.com/2012/05/foxycomplete-advanced-autocomplete-search-images/ после повторного поиска Я нашел решение для ovveride html-дисплея для ul из этого частного метода
_renderMenu: function( ul, items ) {
var that = this;
$.each( items, function( index, item ) {
that._renderItemData( ul, item );
});
$( ul ).find( "li:odd" ).addClass( "odd" );
}
На основе вашего комментария кажется, что ваша проблема ._renderItem
с обертыванием элемента UL, а не с ._renderItem
функции ._renderItem
.
С учетом сказанного:
$('ul').wrap('<div></div>');
Будет делать трюк.
http://api.jquery.com/wrap/ ссылку на документацию.
<div>
внутри<a>
и вместо этого использовать<span>
, но это на самом деле просто семантика, я думаю. кроме этого, нет причин, по которым приведенный выше код не должен работать.