Шаг 146.
Библиотека jQuery. Работа с таблицами. Изменение внешнего вида таблицы. Фильтрация. Выборка параметров фильтра из содержимого

    На этом шаге мы рассмотрим программное формирование параметров фильтра.

    Теперь необходимо расширить набор параметров фильтра, чтобы охватить весь диапазон имеющихся примечаний. Мы можем отобрать их из текста, присутствующего в таблице. Для этого изменим определение массива keywords так, чтобы его элементы извлекались из таблицы:

  var keywords = {};
  $table.find('td:nth-child(' + (column + 1) + ')') 
    .each(function() { 
      keywords[$(this).text()] = $(this).text();
  });

    В данной реализации используются следующие две особенности:

  1. Используя для хранения найденных ключевых слов отображение вместо простого массива, мы автоматически устраняем возможность включения в массив дубликатов слов; каждый ключ может иметь только одно значение, и ключи всегда являются уникальными.
  2. Функция $.each() из библиотеки jQuery позволяет работать с массивами и с отображениями одинаковым образом, благодаря чему нам не приходится изменять последующий программный код.

    Теперь у нас имеется полный набор параметров фильтра (рисунок 1).

Рис.1. На странице выводится полный набор параметров фильтра

Полный текст этого примера можно взять здесь.

    На следующем шаге мы рассмотрим отмену действия фильтра.




Предыдущий шаг Содержание Следующий шаг