Jquery自动完成 – 结果列表的自定义html
我指的是这个插件: http : //jqueryui.com/demos/autocomplete/
所以结果的原始结构是
我需要让里面的链接看起来像这样:
The item
请不要告诉我编辑插件的唯一解决方案,因为我不希望网站上所有自动填充的格式相同。
您需要替换_renderItem
方法(对于有问题的自动完成):
$("selector").autocomplete({ ... }) .data( "autocomplete" )._renderItem = function( ul, item ) { return $( "" ) .data( "item.autocomplete", item ) .append( "" + item.label + "" ) .appendTo( ul ); };
(假设source
的items
具有名为customattribute
的属性)
如下例所示: http : //jqueryui.com/demos/autocomplete/#custom-data
这也在jquery-ui自动完成文档中记录: Jquery-autocomplete 。
诀窍是:
- 使用此jquery扩展名: github代码
-
然后在自动完成选项中传递
html:true ...autocomplete({ ... html:true ... }
);
-
现在,您可以在JSON输出的“label”字段中传递html(如
sample div>)以进行自动完成。
如果您不知道如何将插件添加到JQuery,那么:
- 将插件(ScottGonzález的html扩展名)保存在js文件中或下载js文件。
- 您已经在html页面(或jquery-ui js文件)中添加了jquery-ui自动完成脚本。 在该自动完成javascript文件之后添加此插件脚本。
发布日期:2013年7月28日
您可以尝试使用“open”事件添加属性:
$( ".selector" ).autocomplete({ open: function(event, ui) { var jArrEl = $("a.ui-corner-all"); jArrEl.addClass("myclass"); jArrEl.attr("customattribute","something"); } });