jQuery自动完成显示不需要的动态html标记

时间:2012-08-29 13:05:15

标签: javascript jquery html jquery-autocomplete

不确定这些是如何转换为html对象的。

我有这个功能:

var findPattern = new RegExp(request.term.toLowerCase(), "ig");
var highlightMatch = function(match) {
  return '<span class="highlight">' + match + '</span>';
};

在这里使用它:

source: function(request, response) {
  $autocomplete_xhr = $.ajax({
    // .. truncated for your viewing pleasure ..
    success: function() {
      return {
         label: $.string(label).interpolate({name: row.customer.name, address: (row.customer.addr == null) ? '' : row.customer.addr}).str.replace(findPattern, highlightMatch),

但结果是我可以看到<span>标签,而不是将它们解析为HTML。

为什么会发生这种情况的任何想法,以及我可以做些什么来解决这个问题?

1 个答案:

答案 0 :(得分:0)

知道了!将此添加到我的自动完成代码的末尾..这是我理解JS库中包含的完全相同的代码。所以我不确定为什么只有从源中提取并手动放入文件中才会起作用..

      })
      .each(function() {
        // Señor Hackovitz for rendering HTML elements..
        $(this).data("autocomplete")._renderItem = function(ul, item) {
          return $( "<li></li>" )
              .data( "item.autocomplete", item )
              .append( "<a>" + item.label + "</a>" )
              .appendTo( ul );
        };
      })

我在@Mu Is To Short之后使用了.each语句,以防有很多自动填充功能可用。

干杯!