jQuery自动完成-结果显示编码字符

jQuery自动完成-结果显示编码字符,jquery,jquery-autocomplete,Jquery,Jquery Autocomplete,我正在使用以下代码使用autocomplete插件在ajax文件中搜索查询: $("input.search_bar").autocomplete("/autocomplete/", { scrollHeight: 300, minChars: 3 }); 搜索结果是HTML编码的名称,如: 鲍勃的商店(实际上是Bob%39s商店) 比尔的商店(真的比尔%39s商店) 等等 “自动完成”下拉列表显示正确的HTML,如下所示: 鲍勃的商店 比尔商店 但当我选择其中一个结果并将结果

我正在使用以下代码使用autocomplete插件在ajax文件中搜索查询:

$("input.search_bar").autocomplete("/autocomplete/", {
    scrollHeight: 300,
    minChars: 3
});
搜索结果是HTML编码的名称,如:

鲍勃的商店(实际上是
Bob%39s商店
) 比尔的商店(真的
比尔%39s商店
) 等等

“自动完成”下拉列表显示正确的HTML,如下所示:

鲍勃的商店 比尔商店

但当我选择其中一个结果并将结果移动到输入字段时,输入字段将显示转义值,如下所示:

Bob%39s商店

如何使用jQuery Autocomplete插件格式化结果,以便在选择结果时显示未扫描的值

我已经尝试了以下插件功能,但没有成功:

$("input.search_bar").autocomplete("/autocomplete/", {
    scrollHeight: 300,
    minChars: 3,
    formatResult: function(row) {
      return unescape(row);
    }
});
尝试:

试试这个代码

$("input.search_bar").autocomplete("/autocomplete/", {
    scrollHeight: 300,
    minChars: 3,
    formatResult: function(row) {
      return $('<div/>').html(row).html();
    }
});
$(“input.search\u bar”).autocomplete(“/autocomplete/”{
高度:300,
明查斯:3,
formatResult:函数(行){
返回$('').html(row.html();
}
});

我也有同样的问题。JSON输出的源是一个JSP文件

JSON使用示例显示了使用单引号来分隔建议条目,我将其改为双引号

直到我从使用标记改为简单地使用${…},它才开始工作。这解决了问题。标记正在自动转义输出


如果不使用Java,请确保用于生成JSON的函数不会自动编码/转义值。我没有注意到这一点,直到我在一个人的名字中加了一个引号。

你可以使用一点php和preg_replace()你能深入研究自动完成代码,看看他们用什么函数来转义变量吗?如果它是一个标准函数,那么它应该有一个相反的函数,如果不是,那么看起来您可以创建一个:)。它看起来像unicode或ascii(39=撇号)
$("input.search_bar").autocomplete("/autocomplete/", {
    scrollHeight: 300,
    minChars: 3,
    formatResult: function(row) {
      return $('<div/>').html(row).html();
    }
});