javascript - jQuery UI 自动完成缺少 _renderItem

标签 javascript jquery jquery-ui autocomplete jquery-autocomplete

这很奇怪。

$.fn.autoList = function () {

return this.each(function () {

    var self = this;

    // initiate autocomplete
    $(self).autocomplete({
        source: _li_data,
        minLength: 2,
        select: function (event, ui) {
            ui.item.checkbox.prop('checked', true).trigger('change');
            ui.item.checked = !ui.item.checked;
            $(event.target).val('');
            return false;
        }
    })
    .data('autocomplete')._renderItem = function (ul, item) {
                    if (item.checked) {
                        return $("<li>")
                                .text(item.label)
                                .addClass('preselected')
                                .appendTo(ul);
                    }
            };

});}

当输入时,在结果应该呈现之前,我收到以下错误。 未捕获的类型错误:无法读取 jquery-ui-1.9.0.js:6672 中未定义的属性“数据”,其代码如下

    _renderItemData: function( ul, item ) {
    return this._renderItem( ul, item ).data( "ui-autocomplete-item", item );
},

我想要做的是将“预选”类添加到自动完成下拉列表的 -ul- 中的 -li- 项中。我被这个问题困住了......

最佳答案

如果 (item.checked) 条件为 false,_renderItem 函数将返回 undefined。它可能只需要一个 else block :

// ...
._renderItem = function (ul, item) {
                if (item.checked) {
                    return $("<li>")
                            .text(item.label)
                            .addClass('preselected')
                            .appendTo(ul);
                }
                // else
                return $("<li>").appendTo(ul);
        };

关于javascript - jQuery UI 自动完成缺少 _renderItem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29028971/

相关文章:

javascript - 在 CKeditor 中向链接添加类

javascript - 我的代码有什么问题吗?每个单词的第一个字母应大写

javascript - RiotJS onclick 加载时触发

javascript - 使用 jQuery 可以实现可拖动且可调整大小的文本框/文本区域吗?

javascript - 使用indexedDB返回 'undefined'

javascript - 使用 Shadow DOM 将内容与演示分离

jquery - 删除 jQuery UI 对话框小部件上的关闭按钮的最佳方法?

javascript - 如何处理大的 JQueryUI 自动完成响应?

javascript - 滑动左侧菜单的滑入和滑出过渡

jquery - Access-Control-Allow-Origin header 不起作用 - 我做错了什么?