Первоначальный выбор для фильтра сортировщика таблиц w / select2

0

Основываясь на официальном примере фильтрации tablesorter с select2, я пытаюсь реализовать первоначальный выбор параметров фильтра, и я застрял с tablesorter, не обновляя фильтрованные строки.

JSFiddle: http://jsfiddle.net/5dUk9/1/.

Взгляните на первый столбец, значения xyz следует отфильтровать, но это не так. Однако, если вы выполняете ручной выбор, он работает так, как ожидалось.

// ***
var filter = $.tablesorter.filterFormatter.select2( $cell, indx, {
    match : true, // adds "filter-match" to header
    cellText : 'Match: ',
    width: '85%',
    initSelection : function (element, callback) {
        var data = [];
        $(element.val().split(",")).each(function () {
            data.push({id: this, text: this});
        });
        callback(data);
    }
});
filter.siblings("input.select2").select2("val", ["abc", "def"]);
return filter;
// ***

В этом фрагменте кода две вещи неясны: initSelection ли initSelection в этом сценарии и как уведомить tablesorter об изменениях, если это необходимо.

Конечно, любое другое предложение было бы очень полезно.

Исходный пример (без изменений): http://jsfiddle.net/5dUk9/

Теги:
jquery-select2
tablesorter

1 ответ

1

Благодаря @Mottie для быстрой реализации этой функции и предоставления демонстрационного примера.

Существует также обходное решение, которое я нашел:

filter.siblings("input.select2").select2("val", ["abc", "def"], true);

Хотя это не всегда работает, то обертывание в setTimeout() должно быть быстрым и грязным, исправить это: http://jsfiddle.net/5dUk9/3/.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню