фильтр сортировки таблиц и переключение скрытой строки не работают вместе - PullRequest
1 голос
/ 31 января 2020

У меня есть версия tableorter, в которой есть опции фильтра, которые прекрасно работают с этими опциями

 $('.tablesorter').tablesorter({
            theme: 'blue',
            widthFixed: true,
            sortList: [[5,1]],
            widgets: ['zebra', 'stickyHeaders', 'filter'],
            widgetOptions : {
                filter_formatter : {
                    1 : function($cell, indx) {
                        return $.tablesorter.filterFormatter.select2( $cell, indx, {
                            match : false // exact match only
                        });
                    },
                    2 : function($cell, indx) {
                        return $.tablesorter.filterFormatter.select2( $cell, indx, {
                            match : true,         // adds "filter-match" to header
                            cellText : 'Match: ', // Cell text
                            width: '85%',         // adjusted width to allow for cell text
                            value: ['Lassosum','P&T','P&G'] // initial values
                        });
                    }
                },

                // option added in v2.16.0

            }

        });

Поэтому я хочу сначала скрыть пару строк, а затем отобразить их с флажками. И у меня есть

$options.on('change', function() {
              var $elementsToToggle = $('.' + this.value);
              if (this.checked) {
                $elementsToToggle.show();
                console.log("its checked");
                $("tablesorter").trigger("updateAll");


              } else {
                  console.log("its checked");
                $elementsToToggle.each(function() {
                  var hide = true,
                      elementToToggle = this;

                  $options.each(function() {
                    var optionClass = this.value,
                        optionValue = this.checked;
                    if (elementToToggle.classList.contains(optionClass) && optionValue)
                      hide = false;
                  });

                  if (hide === true)
                    $(elementToToggle).hide();
                });
              }
            });

Поэтому, когда я добавляю строки, я также обновляю таблицу tableorter, но фильтр столбцов просто фильтрует начальные строки, а не динамически добавляемые строки.

...