альтернатива :contains
Здравствуйте
Есть таблица из БД с id=output, есть поле поиска с id=search - есть код поиска по таблице и скрытия строк, в которых не найдено введенных данных $(document).ready(function() { $('#search').keyup(function() { // при вводе в поле var a = $('#search').val(); // значение поля search в переменную $('#output tr').show(); // показываем все поля if ('#output td:contains("'+a+'")') { // если содержит значение из поля $('#output tr:not(:contains("'+a+'"))').hide(); // то прячем поля, не содеращие значения } }) }); http://new.supersprox.eu/output-db/output_database.php - ссылка на таблицу. Проблема - contain ищет по всей таблице, и это мне бы не мешало, но я хочу сделать поиск в каждом столбце по отдельности - через :nth-child(переменная) - но contain ищет по всей таблице, находит введённый символ где-то в случайной ячейке, и соотв. не скрывает её. Есть ли альтернатива использования contains для такого поиска? |
Не contain ищет по всей таблице, а вы не задаете условия поиска.
|
if ('#output td:nth-child(1):contains("'+a+'")') { // если содержит значение из поля $('#output tr:not(:contains("'+a+'"))').hide(); } пробую так - ищу в первом столбце, но строку, в которой в первом столбце нет вводимого - не скрывает. в какую сторону копать? |
Сперва надо обратить внимание на условие - у вас просто строка которая всегда будет возвращать true.
|
laimas,
:write: $(document).ready(function() { $("#search").keyup(function() { var a = $("#search").val(), a = ":has(td:nth-child(1):contains('" + a + "'))"; $("#output tr").hide().filter(a).show() }) }); |
ваш код ищет совпадения в строке nth-child(какое-то число), мне же нужен поиск в конкретном столбце
|
Цитата:
|
Цитата:
|
Zimishe,
:-? $(document).ready(function() { $("#search").keyup(function() { var a = $("#search").val(), a = ":has(td:nth-child(1):contains('" + a + "'))"; $("#output tr").hide().filter(a).show().find('td:not(:nth-child(1))').hide() }) }); |
Цитата:
спасибо за помощь |
Часовой пояс GMT +3, время: 10:12. |