Отфильтровать строки в таблице по заданным критериям
Помогите доработать функцию выполняющую фильтрацию строк таблицы содержащих значение выбранное в пользовательской форме (заранее скрытые строки становятся видимыми если условие выполнено).
принцип работы следующий: значение 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" и т.д.). Как собрать всё это в единое целое и чтобы стабильно работало ???? |
Часовой пояс GMT +3, время: 10:09. |