javascript - 渲染存在于 jquery 自动完成数据中的 html 元素

标签 javascript jquery html css autocomplete

我正在使用带有远程数据源的 jQuery 自动完成功能。远程数据包含 HTML 标记。样本数据的形式:

[
  "ABC <span>XYZ</span>",
  "PQR <span>LMN</span>",

];

自动完成下拉列表包含如下输出

ABC <span>XYZ</span> PQR <span>LMN</span>

我希望 HTML 标签得到渲染和下拉以显示类似的输出

ABC XYZ PQR LMN

http://jsfiddle.net/ac112jmx/2/

最佳答案

您可以使用 Custom Display 覆盖它使用 .autocomplete("instance")._renderItem方法。

instance()

Retrieves the autocomplete's instance object. If the element does not have an associated instance, undefined is returned.

_renderItem( ul, item )

Method that controls the creation of each option in the widget's menu. The method must create a new <li> element, append it to the menu, and return it.

代码

$("#tags").autocomplete({
    source: availableTags,
    select: function (event, ui) {
        console.log(ui.item);
        $("#tags").val(ui.item.label);
        return false;
    }
}).autocomplete( "instance" )._renderItem = function (ul, item) {
    return $("<li></li>")
        .data("item.autocomplete", item)
        .append("<a>" + item.label + "</a>")
        .appendTo(ul);
};

DEMO

关于javascript - 渲染存在于 jquery 自动完成数据中的 html 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31023049/

相关文章:

javascript - 如何连接 MongoDB 中两个集合的数据?

javascript - 删除输入的日文

javascript - fullcalendar 为事件上放置的可点击图标解除绑定(bind) eventClick 方法

html - Linux中的Linkify文本文件

jquery - 延迟加载 Reddit 小部件

javascript - 如何让 css 过渡在滚动到特定 div 之前不开始

javascript - 如何使用 Jest 和/或 Enzyme 测试 React 组件呈现的样式和媒体查询

javascript - 如何使用 CSS 或 Javascript 或 jQuery 使粗体字体变细?

javascript - 带有移动内容的背景拖放

php - 我正在尝试让我的网站在 PHP 中显示谁登录(即 Hello Mike 或 Welcome Mike)