首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将项目追加到jQuery UI自动完成

将项目追加到jQuery UI自动完成
EN

Stack Overflow用户
提问于 2011-04-19 00:30:27
回答 2查看 10K关注 0票数 8

目前,我在引用jQuery文件的文本框上使用ASHX自动完成。

一切都很正常,除了我想在列表末尾追加一个项目:“没有找到项目?单击此处请求添加一个新项目。”

我尝试了下面的代码行,但它所做的只是格式化项目的,我无法追加。

代码语言:javascript
运行
复制
data( "catcomplete" )._renderItem = function( ul, item ) {
        return $( "<li></li>" )
            .data( "item.catcomplete", item )
            .append( $( "<a class='ui-menu-item'></a>" ).text( item.label ) )
            .appendTo( $('ul').last('.autocomplete-category'));
    };

提示?小贴士?谢谢!:D

EN

回答 2

Stack Overflow用户

发布于 2011-04-19 00:35:37

您应该在Open event触发之后添加额外的条目。这将使您能够访问列表,这就是您想要的,而不是每个元素,这是_renderItem为您提供的访问权限。

下面是一个样式化已填充到列表中的条目的示例:

代码语言:javascript
运行
复制
$("#myBox").autocomplete({
        source: "[URL]",
        minLength: 2,
        open: function(event, ui) {
            $("ul.ui-autocomplete.ui-menu .ui-menu-item:odd").css("background-color","#dedede");
        }
    });
票数 9
EN

Stack Overflow用户

发布于 2011-04-19 00:35:58

你不会想要摆弄_renderItem的。这是呈现一个项目的fn;它为建议列表中的每个项目调用一次。

您想要做的是对_renderMenu函数进行加密。jQuery UI 1.8.6中的原始定义如下:

代码语言:javascript
运行
复制
_renderMenu: function( ul, items ) {
    var self = this;
    $.each( items, function( index, item ) {
        self._renderItem( ul, item );
    });
},

对于其他版本的jQuery UI,它可能基本上是相同的。

在完成$.each之后,对此进行修补以添加额外的项目。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5705960

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档