自动完成 - 如何更改div上的div?

时间:2013-07-05 08:47:47

标签: jquery jquery-ui-autocomplete

美好的一天。

Standart jquery autocomlete在<ul>中形成结果:

.data( "autocomplete" )._renderItem = function( ul, item ) {
            return $( "<li>" )
                .data( "item.autocomplete", item )
                //.append( "<a>" + item.label + "<br>" + item.desc + "</a>" )

                .append('<a href="http://testwork.ru/id' + item.uid + '" class="ts_contact  clear_fix write" id="ts_contact' + item.uid + '" target="_blank">' +
                '<span class="ts_contact_photo fl_l">' +
                '<img src="' + item.icon + '">' +
                '</span>' +
                '<span class="ts_contact_name fl_l">' + item.value +
                '<div class="ts_contact_info">' + item.desc + '</div>' +
                "</span>" +
                '<div class="ts_contact_status"></div>' +
                '</a>')

                .appendTo( ul );
        };
在firebug中我们可以看到

test

但现在我想更改<ul>上的<div class="example">

任何人都有想法如何制作这个?

1 个答案:

答案 0 :(得分:1)

如果要替换ul,则必须在创建插件后更改元素,例如:

var auto = $( "#tags" ).autocomplete({ ... });

var oldparent = auto.data('uiAutocomplete').menu.element.parent();

auto.data('uiAutocomplete').menu =  $('<div></div>').addClass( "ui-autocomplete ui-front" )
            .appendTo(oldparent)
            .menu({ role: null })
            .hide()
            .data( "menu" );

演示here