0

我想在我的 Rails 3.2 应用程序中进行分类自动完成搜索,用 jQuery 1.9.1 编写。我有以下代码:

jQuery.widget( "custom.catcomplete", jQuery.ui.autocomplete, {
        _renderItemData: function( ul, item ) {
            return jQuery( "<li></li>" )
                .data( "item.autocomplete", item )
                .append( "<a>" + item.label + "</a>" )
                    .appendTo( ul );
        },

        _renderMenu: function( ul, items ) {
            var that = this,
            currentCategory = "";
            jQuery.each( items, function( index, item ) {
                if (item.category != currentCategory) {
                    if (item.category != undefined) {
                        ul.append( "<li>" + item.category + "</li>" );
                        currentCategory = item.category;
          }
                }
                that._renderItemData( ul, item );
            });
        },


    });



  jQuery('.search-query').catcomplete({
    appendTo: '#search_query_wrapper',
    source: '/some_url',
        select: function( event, ul ) {
            console.log(ul);
            jQuery.get(ul.item.value);
    }
    });

它实际上正确地呈现了它的项目,但是当我单击其中任何一个时,我在 Firebug 中收到以下错误:

TypeError: ul.item is undefined 

jQuery.get(ul.item.value)

怎么了?谢谢

4

1 回答 1

0

您提供的代码有效!只需使用jQuery UI 1.9.2脚本。

演示:http: //jsfiddle.net/yTMwu/53/

需要帮助请叫我!

于 2013-02-20T19:05:07.720 回答