альтернатива :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, время: 14:12. |