【问题标题】:Loading span as text将跨度加载为文本
【发布时间】:2015-03-08 10:03:47
【问题描述】:

我遇到了 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">&lt;span class="autocomplete cat"&gt;Cat&lt;/span&gt;</a>
</li>
<li class="ui-menu-item" role="menuitem">
    <a class="ui-corner-all" tabindex="-1">&lt;span class="autocomplete carbon"&gt;Carbon&lt;/span&gt;</a>
</li>

我已经阅读了一些关于 HTML 扩展的内容,但没有找到任何具体的内容。这个问题可以用 J Query 解决还是我需要修改我的源数据?

【问题讨论】:

标签: html jquery-ui jquery-autocomplete


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-02
    相关资源
    最近更新 更多