0

私の JavaScript の理解は、これを行うにはあまりにも限られています。_renderMenuここで別のjQueryプラグインでオーバーライドすることでこれが解決されるのを見てきました: jQuery Autocompleteで結果を制限しますが、jQuery UIプラグインでは制限しません。jQuery UI オートコンプリートで制限を使用するにはどうすればよいですか?

jquery-ui.jsで、このコードを変更して結果を制限しましたが、ライブラリ コードはそのままにして、クライアント コードでオーバーライドしたいと思います。

_renderMenu: function( ul, items ) {
    var self = this;
    $.each( items, function( index, item ) {
        self._renderItem( ul, item );
    });
}

提案-search.js:

            $("#global-search").autocomplete({
                source: response,
                minLength: 1,
                delay: 100,
                select: function (event, ui) {
                    //bzzz
                }

            }).data( "autocomplete" )._renderItem = function( ul, item ) {

                var imgFilename = item.filename;
                imgFilename = imgFilename.replace(/ /g,"_");

                return $( "<li></li>" )
                    .data( "item.autocomplete", item )
                    .append('<a class="clearfix"><img src="http://localhost/img/' + imgFilename + '" width="40" height="63" />'+
                            '<div class="ac-menu-item"><div><span class="ac-publish-title">' + item.title + '</span></div><div class="faded">'+item.year+'</div></div></a>' )
                    .appendTo(ul);

            }

        }
4

1 に答える 1

1

最も簡単なのは、ソース コールバック関数が戻り配列に入れるアイテムの数を制限することです。

于 2012-07-27T07:37:02.090 に答える