0

在下面的这个小片段中,我在网上找到了解决我的一个问题的方法,我看到 .data("item.autocomplete",item) 被用作自定义 UI 自动完成小部件的标准部分。我一生都无法弄清楚这里发生了什么。覆盖私有 _renderItem 方法的文档非常有限。除了那条线,我得到了一切。也许是链接让我感到困惑。我将 .data() 作为元素的基本缓存存储。但是,我的 jQuery 肯定生锈了。

$('#name_search').autocomplete({
        source: "search/name.php"
        }).data( "autocomplete" )._renderItem = function( ul, item ){
            return $( "<li></li>" )
            //what is this line below?                
            .data( "item.autocomplete", item )
            .append( "<a>" + item.nome + "<br>" + item.cognome + "</a>" )
            .appendTo( ul );
        };
4

1 回答 1

1
.data("item.autocomplete",item) 

li这会在自动完成使用的菜单中生成的 s 上设置数据(当前正在呈现的建议​​项) 。该数据稍后用于确定您在建议菜单中与哪个项目进行交互(例如,通过select事件或focus事件)。

如果您不设置此数据,自动完成将不知道该特定li项与特定建议项相关联。

于 2013-02-22T15:17:54.010 回答