Html 将跨度加载为文本
我遇到了JqueryUI autocomplete的一个问题,其中返回的范围在下拉列表中呈现为文本(如下所示) 我正在使用jQueryUI1.8.17和jQuery1.6.4 自动完成功能:Html 将跨度加载为文本,html,jquery-ui,jquery-autocomplete,Html,Jquery Ui,Jquery Autocomplete,我遇到了JqueryUI autocomplete的一个问题,其中返回的范围在下拉列表中呈现为文本(如下所示) 我正在使用jQueryUI1.8.17和jQuery1.6.4 自动完成功能: $('#search').autocomplete({ source: '/Search/AutoComplete', html: true, delay: 0 }); 浏览器未将跨度加载到DOM中。我认为这是因
$('#search').autocomplete({
source: '/Search/AutoComplete',
html: true,
delay: 0
});
浏览器未将跨度加载到DOM中。我认为这是因为它需要对文本进行HTML编码。这是标记。正如你所看到的,它没有被编码
<li class="ui-menu-item" role="menuitem">
<a class="ui-corner-all" tabindex="-1"><span class="autocomplete cat">Cat</span></a>
</li>
<li class="ui-menu-item" role="menuitem">
<a class="ui-corner-all" tabindex="-1"><span class="autocomplete carbon">Carbon</span></a>
</li>
span class=“自动完成cat”cat/span
span class=“自动完成碳”碳/span
我读了一些关于HTML扩展的东西,但没有找到任何具体的东西。这个问题可以用J Query解决吗?或者我需要修改我的源数据吗?发布的解决方案就是这个问题的解决方案
我的JS最终看起来像:
$('#searchPhrase').autocomplete({
source: '/Search/AutoComplete',
html: true,
delay: 0,
minLength: 2
}).data("autocomplete")._renderItem = function (ul, item) {
return $("<li></li>")
.data("item.autocomplete", item)
.append("<a>" + item.label + "</a>")
.appendTo(ul);
};
$('searchPhrase')。自动完成({
来源:“/Search/AutoComplete”,
是的,
延迟:0,
最小长度:2
}).数据(“自动完成”)。\u renderItem=功能(ul,项目){
返回$(“”)
.data(“item.autocomplete”,item)
.append(“+item.label+”)
.附录(ul);
};
看看这是否对您有帮助[[1]:谢谢@imnancysun。这是正确的解决方案。