3

再会。

标准 jquery 自动完成形成结果<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 );
        };

在萤火虫中,我们可以看到:

测试

但现在我想改变<ul><div class="example">

任何人都有想法如何做到这一点?

4

1 回答 1

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" );

这里有一个演示。

于 2013-07-05T09:06:40.937 回答