Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Поиск в JavaScript / 3 сообщений из 3, страница 1 из 1
01.12.2009, 16:40
    #36341547
vasya123
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в JavaScript
Здравствуйте,хочу написать поиск на JS по типу как на мобильниках или как в фаерфоксе при нажатии ctrl+f.(будет поле ввода и список фамилий,который должен динамически сортироваться при вводе букв)Не знаю с чего начать,может кто поделится ссылочкой или основным алгоритмом?
...
Рейтинг: 0 / 0
01.12.2009, 17:58
    #36341782
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в JavaScript
Наверное имелась ввиду не сортировка, а инкрементный поиск?
Писал я такую штуку. Потерялась, а заново - лень. Там идея была следующая: табличка, в которой строчки неудовлетворяющие регэксп делались невидимыми, а удовлетворяющие - видимыми. Это происходило на каждый onkeyup. Аналогично см. здесь:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title></title>
<style type="text/css">
.sel {background-color:red}
</style>
<script type="text/javascript" >
function findText(){
	clear();
	if(document.getElementById("txt").value=="") return;
	var txt=document.getElementById("txt").value;
	var s=document.getElementById("cont").innerHTML;
	var reg=new RegExp(txt,"ig");
	s=s.replace(reg,repl);
	document.getElementById("cont").innerHTML=s;
}
function repl($ 0 ){
	return "<span class='sel'>"+$ 0 +"</span>";
}
function clear(){
	var s=document.getElementById("cont").innerHTML;
	var reg=new RegExp("<span class=.sel.>","ig");
	s=s.replace(reg,"");
	reg=new RegExp("</span>","ig");
	s=s.replace(reg,"");
	document.getElementById("cont").innerHTML=s;
}
</script>
</head>
<body>
<input id="txt" type="text" onkeyup="findText()" /><br />
<div id="cont">
У попа была собака. Поп её любил. Она съёла кусок мяса. Поп её убил. <br />
У попа была собака. Поп её любил. Она съёла кусок мяса. Поп её убил. <br />
У попа была собака. Поп её любил. Она съёла кусок мяса. Поп её убил. <br />
У попа была собака. Поп её любил. Она съёла кусок мяса. Поп её убил. <br />
У попа была собака. Поп её любил. Она съёла кусок мяса. Поп её убил. <br />
У попа была собака. Поп её любил. Она съёла кусок мяса. Поп её убил. <br />
У попа была собака. Поп её любил. Она съёла кусок мяса. Поп её убил. <br />
У попа была собака. Поп её любил. Она съёла кусок мяса. Поп её убил. <br />
У попа была собака. Поп её любил. Она съёла кусок мяса. Поп её убил. <br />
У попа была собака. Поп её любил. Она съёла кусок мяса. Поп её убил. <br />
</div>
</body>
</html>
...
Рейтинг: 0 / 0
02.12.2009, 16:06
    #36343856
vasya123
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в JavaScript
Да , именно инкерементный поиск по началу строки - спасибо за пример
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Поиск в JavaScript / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]