Jas*_*son 82 html jquery-ui autocomplete jquery-ui-autocomplete
在jQuery UI 1.8.4 之前,我可以在我构建的JSON数组中使用HTML来处理自动完成.
我能做的事情如下:
$row_array['label'] = '<span style="color: red; font-family: courier;">User, Name</span>';
Run Code Online (Sandbox Code Playgroud)
这将在下拉列表中显示为红色文本.
从1.8.4开始不起作用.我发现http://dev.jqueryui.com/ticket/5275告诉我在这里使用我没有运气的自定义HTML示例.
如何让HTML显示在建议中?
我的jQuery是:
<script type="text/javascript">
$(function() {
$("#findUserIdDisplay").autocomplete({
source: "ui_autocomplete_users_withuname.php",
minLength: 2,
select: function(event, ui) {
$('#findUserId').val(ui.item.id);
}
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
我的JSON数组包含如下HTML:
[{"label":"<span style="color: red";>User, Name</span>","value":"User, Name","id":"10"}]
Run Code Online (Sandbox Code Playgroud)
Kie*_*ews 117
将其添加到您的代码中:
).data( "autocomplete" )._renderItem = function( ul, item ) {
return $( "<li></li>" )
.data( "item.autocomplete", item )
.append( "<a>"+ item.label + "</a>" )
.appendTo( ul );
};
Run Code Online (Sandbox Code Playgroud)
所以你的代码变成:
<script type="text/javascript">
$(function () {
$("#findUserIdDisplay").autocomplete({
source: "ui_autocomplete_users_withuname.php",
minLength: 2,
select: function (event, ui) {
$('#findUserId').val(ui.item.id);
return false;
}
}).data("ui-autocomplete")._renderItem = function (ul, item) {
return $("<li></li>")
.data("item.autocomplete", item)
.append("<a>" + item.label + "</a>")
.appendTo(ul);
};
});
</script>
Run Code Online (Sandbox Code Playgroud)
注意:在旧版本的jQueryUI上使用.data("autocomplete")"而不是.data("ui-autocomplete")
小智 10
这也在jquery-ui自动完成文档中有记录,网址为:http: //api.jqueryui.com/autocomplete/#option-source
诀窍是:
autocomplete({ html:true});<div>sample</div>在JSON输出的"label"字段中传递html 以进行自动完成.如果您不知道如何将插件添加到JQuery UI,那么: