Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.12.2009, 02:06
Аспирант
Отправить личное сообщение для Hag1989 Посмотреть профиль Найти все сообщения от Hag1989
 
Регистрация: 25.10.2009
Сообщений: 50

Отфильтровать строки в таблице по заданным критериям
Помогите доработать функцию выполняющую фильтрацию строк таблицы содержащих значение выбранное в пользовательской форме (заранее скрытые строки становятся видимыми если условие выполнено).


принцип работы следующий:

значение input type="checkbox" name="X1" ---> функция GetElementByTagName выполняющая поиск "X1" и в случае выполнения условия отображающая строки --> строки с ячейками таблицы содержащие "X1" .

Вот набросок идеи:

Код:
jspsFilterTabie (<Таблиц>, <Функция фильтрации> [, <Дополнительный параметр функции фильтрации]);
Первым параметром функции передается таблица, которую нужно отфильтровать;
Второй параметр задает функцию фильтрации, проверяющую, удовлетворяют ли данные, помещенные в ячейках строки секции тела таблицы, заданному критерию (если true то возвращает строку)

function jspsFilterTable(pTable, pFilterFunction, pAdditional) {

var piObject = jspsGetProgramInfo(); var isIE = (piObject.programName == JSPS_GPI_MSIE) var bodySectionObject = pTable.getElementsByTagName("TBODY"); bodySectionObject = bodySectionObject[0];

for (var i = 0; i < bodySectionObject.childNodes.length; i++) { var rowObject = bodySectionObject.childNodes[i]; rowObject.style.display = (pFilterFunction(rowObject, pAdditional)) ? ((isIE) ? "block" : "table-row") : "none"; } }


*jspsGetProgramInfo передает информацию о браузере клиента, её листинг я не стал приводить
**((isIE) ? "block" : "table-row") : "none"; это для любимого нами IE, кот. не поддерживает значение "table-row".

если данные в ячейке удовлетворяют условию (совпадают со значением параметра name (например "X1")), то строка отображается браузером.

А теперь самое интересное:
Выбранные в форме значения должны сохранятся в переменной bodySectionObject чтобы продолжать повторную фильтрацию среди уже выбранных строк при задании дополнительных условий в форме (name="X2" и т.д.).

Как собрать всё это в единое целое и чтобы стабильно работало ????
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Строки в таблице Gufer Элементы интерфейса 3 28.06.2009 01:53
Подсветка выделенной строки в таблице (row table highlight) artsage Элементы интерфейса 4 03.04.2009 06:40