
05.02.2009, 20:23
|
|
Участник форума
Регистрация: 28.07.2008
Сообщений: 158
Провел на форуме: 728470
Репутация:
115
|
|
Сообщение от svesve
Выведена таблица с данными
ее сам клиент фильтрует уже как ему надо например по первым трем буквам по 4 и т.д
если делать каждый раз запрос то представь что будет если 10000 клиентов это сделают,понятно дело что это все либо аякс либо ява....вот и спросил может кто встречал
2 korvin: чувак мыслит в правильную сторону, и не надо 10000 посетителей чтобы сделать для них удобную страничку...
2 svesve: спешиал фор ю =)
PHP код:
<html>
<head>
<title>test</title>
</head>
<body>
<script type='text/javascript'>
function gebi(id) {
return document.getElementById(id);
}
function gofiltr(v) {
for (var i=1; true; i++) {
var row='r' + i;
var td='t' + i;
//если строки кончились выходим из цикла
if (gebi(row)==null) break;
//для строк таблицы такой тип display при отображении
var showType='table-row';
//это для браузеров - инвалидов
if (navigator.userAgent.indexOf('IE')!=-1) showType='block';
// если нет вхождения искомой строки в ячейке прячем строку, иначе отображаем
if (gebi(td).innerHTML.indexOf(v)==-1) gebi(row).style.display='none'; else gebi(row).style.display=showType;
}
}
</script>
<input type='text' onkeyup='gofiltr(this.value);'>
<table border='1'>
<tr id='r1'>
<td id='t1'>afgh</td><td>ddd</td>
</tr>
<tr id='r2'>
<td id='t2'>aagh</td><td>ddd</td>
</tr>
<tr id='r3'>
<td id='t3'>aaah</td><td>ddd</td>
</tr>
</table>
</body>
</html>
1) строки нумируешь по порядку, чтобы по ним можно было обратится в цикле
2) на онкейап поля фильтра вешаешь функцию, проверяющую вхождение строки в ячейке и прячешь или показываешь строки таблицы. (в примере поиск идет по первой ячейке)
3) в примере сделал вхождение в любой части ячейки, если хочешь чтобы фильтр был сначала строки, проверяй дополнительно позицию вхождения строки...
Последний раз редактировалось prescott; 05.02.2009 в 20:39..
|
|
|