jquery - 无法多次重写 jQuery UI 自动完成 renderItem 方法

标签 jquery jquery-ui jquery-autocomplete jquery-ui-autocomplete

它会在找到的第一个自动完成中正确覆盖,但对其余部分不执行任何操作。 相反,它会加载原始的 _renderitem 方法,您可以在 https://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.autocomplete.js#L449 中看到该方法。 。

$(".someClassWithMultipleItemsOnDOM").autocomplete({
        delay:500,
        minLength:2,
        source:path"
        .....   
}).data( "autocomplete" )._renderItem = function( ul, item ) {

提前致谢

最佳答案

此问题有一个解决方法:

var autoc = {
    delay: 500,
    minLength: 2,
    source: path,
    .....   
};

var renderItem = function (ul, item) {
    return $("<li></li>")
        .data("item.autocomplete", item)
        .append("<a>" + item.label + "<br/>" + item.desc + "</a>")
        .appendTo(ul);
};

$(".someClassWithMultipleItemsOnDOM").each(function (i) {
     $(this).autocomplete(autoc).data("autocomplete")._renderItem = renderItem;
}

关于jquery - 无法多次重写 jQuery UI 自动完成 renderItem 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7180246/

相关文章:

jquery - CSS定位: relative builds independent 'stacks' ; or: why is blue afraid of red & yellow?

javascript - 两个按钮可在两个功能和一个功能之间切换

javascript - JQuery 自动完成将项目添加到呈现的下拉菜单

javascript - 如何使用javascript限制文本框中的中文字符

JQuery/CSS3 动画冲突

jQuery 对话框 : how to control the button-pane height

jquery - 如何选择自动完成下拉列表中的第一个元素

jquery-ui - Jquery 多选 对于大量选项

javascript - 使用 Javascript/jQuery 从 iframe 选择 HTML

javascript - 获取完整的 html 而不仅仅是 innerhtml