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

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

04.03.2007, 14:04. Показов 5478. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru