在下面的这个小片段中,我在网上找到解决我的一个问题,我看到.data(“item.autocomplete”,item)被用作自定义UI自动完成小部件的标准部分。我不能为我的生活弄清楚这里发生了什么。对于覆盖private _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 );
};
答案 0 :(得分:1)
.data("item.autocomplete",item)
这会在自动完成使用的菜单中的生成的li
上设置数据(正在呈现的当前建议项)。该数据稍后用于确定您在建议菜单中与哪个项目进行互动(例如,通过select
事件或focus
事件。)
如果您未设置此数据,则自动填充功能将不会知道特定li
与特定建议项目相关联。