mcautocomplete在slickgrid上消失

时间:2017-08-24 16:03:45

标签: javascript autocomplete slickgrid

我在我的slickgrid中添加了mcautocomplete。如果我检查一些复选框mcautocomplete表在slickgrid上不再可见。请检查图片。 如何确保我的自动填充选项在我的slickgrid上可见?

enter image description here

     $.widget('custom.mcautocomplete', $.ui.autocomplete, {
    _create: function () {
        this._super();
        this.widget().menu("option", "items", "> :not(.ui-widget-header)");
    },
    _renderMenu: function (ul, items) {
        var self = this,
            thead;
        if (this.options.showHeader) {
            table = $('<div class="ui-widget-header" style="width:100%"></div>');
            $.each(this.options.columns, function (index, item) {
                table.append('<span style="font-weight:bold;background-color:#EEE8AA;padding:0 4px;float:left;width:' + item.width + ';">' + item.name + '</span>');
            });
            table.append('<div style="clear: both;"></div>');
            ul.append(table);
        }
        $.each(items, function (index, item) {
            self._renderItem(ul, item);
        });
    },
    _renderItem: function (ul, item) {
        var t = '',
            result = '';
        $.each(this.options.columns, function (index, column) {
            t += '<span style="background-color:#ADD8E6;padding:0 4px;float:left;width:' + column.width + ';">' + item[column.valueField ? column.valueField : index] + '</span>'
        });
        result = $('<div></div>')
            .data('ui-autocomplete-item', item)
            .append('<div class="mcacAnchor">' + t + '<div style="clear: both;"></div></div>')
            .appendTo(ul);
        return result;
    }
});

1 个答案:

答案 0 :(得分:1)

你可以尝试z-index(这可能很复杂,所有都归结为容器元素的优先级),但我发现一些javascript控件的结构与SlickGrid完全不兼容。
(并不是说mcautocomplete不兼容,有正确的调整,但可能不是)。

例如,我使用'selected'作为下拉列表,但由于它使用的表格元素不能很好地与slickgrid基础设施一起使用,我不得不放弃“select2”。 6pac github存储库中有一个'select2'示例,我认为select2具有自动更正模式。可能值得一试。