С Новым годом! Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.58/26: Рейтинг темы: голосов - 26, средняя оценка - 4.58
evgenybe

Поиск по алфавиту в выпадающем списке

04.03.2007, 14:04. Показов 5392. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужен пример кода.
Нужно нечто похожее на выпадающий список. То есть текстовое окно + раскрывающийся список. К примеру список городов.
Если пользователь вводит в текстовое окно скажем "Ад", то появляется паскрывающийся список и в нем высвечивается "Адлер", "Адис-Абеба", и т.д.
Чем больше букв вводит пользователь, тем точнее выбор.
Затем пользователь может щелкнуть мышкой на выбранном городе в раскрывающемся списке. При этом:
список закрывается
в окне вводится полное название выбранного города
В переменную записывается код выбранного города.
При этом пользователь не должен ощущать никаких временных задержек.
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.03.2007, 14:04
Ответы с готовыми решениями:

Событие в выпадающем списке
Необходимо чтобы при выборе значения из выполнялось функция List('параметр') Делаю так: onChange='{for (var i=0; i < this.length;...

Переход по ссылке в выпадающем списке
здравствуйте мудрецы js и jq))). Есть выпадающий список <select id="cd-dropdown" class="cd-select" > <option...

Оптимизация поиска в выпадающем списке
Имеется выпадающий список в котором около 6000 записей. Пользователь вводит некий текст и требуется с вводом каждой буквы найти...

8
DarkSet
05.03.2007, 19:48
Не совсем ясно, надо чтобы при введении букв фокус перемещался в списке туда где начинаются эти буквы в выпадающем меню, или именно чтобы выпадающее меню включало только те елементы которые подходят под критерий?
Первое реализовать легче, второе сложнее и задержки при больших объемах информации скорее всего будут. Тут есть гдето тема где это обсуждается, я ее хорошо помню, тоже выпадающий список человек делал, и примеров там хватало.

ЗЫ: А, ну да
http://www.relib.com/forums/Topic907001-10-1.aspx http://www.relib.com/forums/Topic907001-10-1.aspx
это твоя тема
evgenybe
05.03.2007, 20:32
Конечно первое. Чтобы указатель перемещался на первое подходящее слово.
А по поводу самой темы - я ее уже в четвертый или в пятый раз поднимаю, и ни разу ответа не получил.
5 / 5 / 5
Регистрация: 24.10.2011
Сообщений: 269
05.03.2007, 22:31
evgenybe (05.03.2007)
Конечно первое. Чтобы указатель перемещался на первое подходящее слово.
А по поводу самой темы - я ее уже в четвертый или в пятый раз поднимаю, и ни разу ответа не получил.
А чем не устраивает последний ответ данный <A class=SmlBoldLinks id=ctl03_ctlTopic_ctlPanelBar_ctlTopicsR epeater_ctl24_smAuthorName onmouseover="window.status = window.location;return true;" title="View Владимир_М's Profile..." onmouseout="window.status=''return true;" href="javascript:void(''); Владимир_М в вами созданной теме: http://www.relib.com/forums/Topic907001-10-1.aspx http://www.relib.com/forums/Topic907001-10-1.aspx
Тот код и являеться решением проблемы...
0
evgenybe
06.03.2007, 17:04
Vizlim (05.03.2007)
evgenybe (05.03.2007)
Конечно первое. Чтобы указатель перемещался на первое подходящее слово.
А чем не устраивает последний ответ данный <A class=SmlBoldLinks id=ctl03_ctlTopic_ctlPanelBar_ctlTopicsR epeater_ctl24_smAuthorName onmouseover="window.status = window.location;return true;" title="View Владимир_М's Profile..." onmouseout="window.status=''return true;" href="javascript:void(''); Владимир_М в вами созданной теме: http://www.relib.com/forums/Topic907001-10-1.aspx http://www.relib.com/forums/Topic907001-10-1.aspx
Тот код и являеться решением проблемы...
Если честно, то я в том коде абсолютно не разобрался. Куда там надо загружать список слов? а откуда выбирать числовые значения слова выбранного пользователем?
К нему бы ну хоть какие-то пояснения.
Может кто-то возьмется за это?
5 / 5 / 5
Регистрация: 24.10.2011
Сообщений: 269
06.03.2007, 21:01
evgenybe (06.03.2007)
Если честно, то я в том коде абсолютно не разобрался. Куда там надо загружать список слов? а откуда выбирать числовые значения слова выбранного пользователем?
К нему бы ну хоть какие-то пояснения.
Может кто-то возьмется за это?
Ну, попытаюсь объяснить...
работает скрипт точно под IE 6... При запуске скрипта надо нажать на одну из ячеек select'a, а точнее где значение ---. Далее в текстовом поле введём символ например: <STRONG>н </STRONG>. в селекте будет выбран автоматически поле <STRONG>наташа</STRONG>, и в текстовом поле будет тоже отображено слово <STRONG>н</STRONG>аташа.
Список слов - это слова находящиеся между <option value="0 и </option> (например: вася, петя, толики, --- и т.д.)
Числовые значеня... <option <STRONG>value</STRONG>="<FONT color=#ff1111>0
Вместо <FONT color=#ff1111>0 <FONT color=#1f5080>ставим любое число например id в БД...
0
evgenybe
07.03.2007, 00:25
Да я не это спрашиваю. Что такое SELECT и как он работает, слава богу, не секрет. Секрет в том что делает, для чего предназначена каждая из функций коих тут, по-моему 4.
5 / 5 / 5
Регистрация: 24.10.2011
Сообщений: 269
07.03.2007, 02:40
evgenybe (06.03.2007)
Да я не это спрашиваю. Что такое SELECT и как он работает, слава богу, не секрет. Секрет в том что делает, для чего предназначена каждая из функций коих тут, по-моему 4.
<form class="inc" onsubmit="mu_paste(this.form)
<div id="info" style="display: none; width: 200px; height: 30px; position: absolute; </div>
<INPUT TYPE="text" NAME="name" id="mu_text" VALUE="" step=0 onkeypress="find_mi(event,this)
</form>
Скажем, на странице есть
<SELECT name="lst" size="4" id="lst
<option value="0 ---</option>
<option value="0 толики</option>
<option value="1 вася</option>
<option value="0 петя</option>
<option value="0 петруша</option>
<option value="0 петя-сан</option>
<option value="0 толиков</option>
<option value="0 петя-сана</option>
<option value="0 толиковна</option>
<option value="0 наташа</option>
</Select>

<SCRIPT LANGUAGE="JavaScript
<!--
var find_=[];
var rr=document.getElementById("lst").option s;
for(i=0;i<rr.length;i++){ //Перебирает элементы в select'e
find_[i]=rr[i].text;//переписывает элементы в новый массив
}
var n_find="";
var n_evt="";
var k=0; //Позиция для step
var obj=document.getElementById("info"); //ссылаеться на невидимый div id="info"
var obj_txt=document.getElementById("mu_text "); //ссылаеться на TYPE="text" NAME="name"
function mu_pole(x_text,it){ //Выделяет элемент в select'e
var objRange = document.selection.createRange();
obj.style.top = objRange.offsetTop+15;
obj.style.left = objRange.offsetLeft+20;
obj.innerHTML = x_text.slice(obj_txt.step); //отображает искомый элемент чуть ниже остальных...
obj.style.display = "block"; //Делает невидимый div id="info" видимым
rr[it].selected=true;// Выделяет найденный элемент
}
function hide_mu_pole(it){ //Скрывает/Обнуляет найденное
obj.innerHTML = ""; //Обнуляет значение div id="info"
obj.style.display = "none"; //Делает div id="info" невидимым
if(it){ //если послынное значение "существует"
rr[0].selected=true; //Выделяет самый первый элемент в select'e
}
}
function mu_paste(ent_){ //Если найденное значение устраивает, то в TYPE="text" NAME="name" переписывает значение options[i]
if(obj.innerHTML!=""){ //Если значение div id="info" содержит символы
obj_txt.value+=obj.innerHTML; //Переписывает значение div'a в TYPE="text" NAME="name"
obj.innerHTML = ""; //Обнуляет значение div id="info"
hide_mu_pole(); //Посылает "несуществующее" значение в эту функцию
event.returnValue=false;
}
event.returnValue=false;
}
function find_mi(f_evt,x){ //нажатие на клавиатуру в TYPE="text" NAME="name", ПОИСК
var poz_=x.step; //Определяет позицию (изначально step=0)
if(f_evt.keyCode==8){ //Нажатие на Backspase
obj_txt.step=100; //Устанавливает позицию step=100
if(obj.style.display =="block"){ //Если div видим
hide_mu_pole(); //Посылает "несуществующее" значение в эту функцию
event.returnValue=true;
return; //Прекращает выполнение этой функции
}
event.returnValue=true;
return; //Прекращает выполнение этой функции
}
if(f_evt.keyCode==32){ //Нажатие на Пробел
n_evt="";
k=0; //Позиция для step
x.step=0; //Устанавливает позицию step=0
n_find="";
&n
0
evgenybe
07.03.2007, 10:54
Спасибо! Премного благодарен!
Сегодня я проработаю и немного изменю и упрощу то, что в этих фунциях написано. Результат покажу.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.03.2007, 10:54
Помогаю со студенческими работами здесь

Как разместить кнопку в выпадающем списке
Подскажите требуется сделать кнопочку добавить при выборе из выподающего списка (&lt;select&gt;&lt;option&gt;) вот примерно так: ...

Нет метода insertRow в выпадающем списке после "."
&lt;script type=&quot;text/javascript&quot;&gt; .......... function processTutorials() { var table = document.getElementById(&quot;tutorialsTable&quot;); ...

замена контента по выбору в выпадающем списке
Как сделать чтобы блок div под списком менялся в зависимости от выбранного значения?

Автовыбор значения в выпадающем списке
Ребят, всем привет! Нужен совет или на крайний случай костыль, как можно поступить... Суть вот в чём: на странице есть список категорий...

Как сделать активным пункт меню в выпадающем списке при клике на ссылку в теле странице?
Добрый день, Уважаемые форумчане! Перерыл весь интернет, но ответа на свой вопрос не нашел. Вообщем: Есть всплывающая пошаговая форма...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru