仅附加一次自动完成元素

时间:2012-09-06 08:52:28

标签: jquery jquery-ui autocomplete

我的自动填充脚本存在问题。除IE8外,它在任何地方都能正常工当列表很大时,整个页面都没有响应,IE8中的CPU使用率几乎达到100%。

_renderItem = function(ul, item) {
        var html = "";
        if (item.NoDataFound) {
            html = "No data found";
        } else {
            if (textField.val() != "") {
                html = item.DisplayName.replace(new RegExp("(" + preg_quote(textField.val()) + ")", 'gi'), "<strong>$1</strong>"); // suggest message & Highlight matching part
            } else {
                html = item.DisplayName;
            }
        }
        return $("<li><a>" + html + "</a></li>")
            .data("item.autocomplete", item)
            .appendTo(ul);
    };

问题可能是appendTo(ul)行,它会将每个项目单独附加到ul。例如,当达到最后一个元素时,我能以某种方式仅将整个列表附加一次吗?

0 个答案:

没有答案