覆盖菜单呈现自动完成以限制结果

时间:2012-07-27 03:48:12

标签: javascript jquery jquery-ui jquery-ui-autocomplete

我对javascript的理解太有限了。我已经通过在这里用另一个jQuery插件覆盖_renderMenu解决了这个问题:Limit the result in 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);

            }

        }

1 个答案:

答案 0 :(得分:1)

最简单的是你的源回调函数来限制它放在返回数组中的项目数。