Показать сообщение отдельно

  #8  
Старый 05.02.2009, 20:23
prescott
Участник форума
Регистрация: 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=1truei++) {
            var 
row='r' i;
            var 
td='t' i;
            
//если строки кончились выходим из цикла
            
if (gebi(row)==null) break;
            
//для строк таблицы такой тип display при отображении
            
var showType='table-row';

//это для браузеров - инвалидов
            
if (navigator.userAgent.indexOf('IE')!=-1showType='block';
                
// если нет вхождения искомой строки в ячейке прячем строку, иначе отображаем
            
if (gebi(td).innerHTML.indexOf(v)==-1gebi(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..
 
Ответить с цитированием