【问题标题】:Override menu render for autocomplete to limit results覆盖自动完成的菜单渲染以限制结果
【发布时间】:2012-07-27 03:48:12
【问题描述】:

我对 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 );
    });
}

建议搜索.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);

            }

        }

【问题讨论】:

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


    【解决方案1】:

    最简单的方法是让您的源回调函数限制它放入返回数组中的项目数。

    【讨论】:

      猜你喜欢
      • 2018-07-24
      • 1970-01-01
      • 1970-01-01
      • 2012-07-16
      • 1970-01-01
      • 2011-05-03
      • 1970-01-01
      • 1970-01-01
      • 2011-11-28
      相关资源
      最近更新 更多