0

不确定这些是如何不被转换为 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。

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

4

1 回答 1

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 );
        };
      })

.each在@Mu Is Too Short 的示例之后使用了一个语句,以防有许多自动完成功能可用。

干杯!

于 2012-08-29T13:43:41.707 回答