如何从 jQuery 自动完成 return link?

How to return link from jQuery autocomplete?

我正在使用 jQuery 自动完成功能将带有字符串的下拉框添加到文本字段。

我希望该字符串的一部分是 HTML link,但根据文档,这似乎不可能。有办法吗?

尝试将 url 作为文本包含在跨度中,并使用 css 设置样式。一旦用户单击自动完成中的项目(您可以使用 jquery 自动完成的 select 功能),您就可以执行所需的操作。

每个锚元素都被视为一个选项,并由自动完成功能相应地呈现。您可以构建自己的自定义元素以模仿锚点。在示例中有一个属性 data-link,其中包含要打开的 link。

代码:

$(".field_values").autocomplete({
    source: projects,
    create: function () {
        $(this).data('ui-autocomplete')._renderItem = function (ul, item) {
            return $('<li>')
                .append('<a>' + item.label + '&nbsp<span href="#" class="mylink" data-link="www.google.it">' + item.value + '</span></a>')
                .appendTo(ul);
        };
    }
});

$(document).on("click", ".mylink", function (e) {
    alert($(this).attr('data-link'));
    $( ".field_values" ).autocomplete( "search");
});

演示:http://jsfiddle.net/IrvinDominin/3tLrL5aj/