我正在为 Rails 中的 jQuery UI 自动完成填充一组结果:
<%= text_field_tag('user', "", :placeholder => 'Enter a user...', class: "users",
data: {autocomplete_source: User.order(:lastname, :firstname).map { |u| {:label => getLabel(u.firstname, u.lastname).html_safe, :id => u.id} }}) %>
我正在尝试在标签中显示 HTML,例如将文本加粗,并最终在每一行中显示一个图像。
def getLabel(firstname, lastname)
"<b>" + firstname + " " + lastname + "</b>"
end
这始终在结果中呈现为纯文本:
<b>John Smith</b>
将标签呈现为 HTML 的最佳方法是什么?任何帮助表示赞赏。
编辑:
$('.users').autocomplete
source: $('.users').data('autocomplete-source')
select: (event, ui) ->
$( ".users" ).val( ui.item.value );
$( "#user_id" ).val( ui.item.id );
$( "#select_user" ).submit();
HTML:
<input class="users" data-autocomplete-source="[{"label":"\u003Cb\u003EJohn Smith\u003C/b\u003E","id":4}]" id="user" name="user" placeholder="Enter a user..." type="text" value="" />