加载跨度作为文本
Loading span as text
我 运行 遇到了 JqueryUI 自动完成问题,其中返回的跨度在下拉列表中呈现为文本(如下所示)。
我正在使用 Jquery Ui 1.8.17 和 Jquery 1.6.4
自动完成功能:
$('#search').autocomplete({
source: '/Search/AutoComplete',
html: true,
delay: 0
});
浏览器未将 span 加载到 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>
我读过一些关于 HTML 扩展的内容,但我没有找到任何具体内容。这个问题可以用 J Query 解决还是我需要修改我的源数据?
Using HTML in jQuery UI autocomplete 中发布的解决方案就是解决这个问题的方法。
我的 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);
};
我 运行 遇到了 JqueryUI 自动完成问题,其中返回的跨度在下拉列表中呈现为文本(如下所示)。
我正在使用 Jquery Ui 1.8.17 和 Jquery 1.6.4
自动完成功能:
$('#search').autocomplete({
source: '/Search/AutoComplete',
html: true,
delay: 0
});
浏览器未将 span 加载到 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>
我读过一些关于 HTML 扩展的内容,但我没有找到任何具体内容。这个问题可以用 J Query 解决还是我需要修改我的源数据?
Using HTML in jQuery UI autocomplete 中发布的解决方案就是解决这个问题的方法。
我的 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);
};