Программирование > JavaScript & JScript
Автовыбор текста
Yourock:
Помогите, пожалуйста, сделать такую фишку:
Есть выпадающий список, где содержаться данные (например, фамилии): ---, иванов, ивушкин, петров, сидоров. По умолчанию выбирается прочерк. Допустим, этот список находится в форме, где много полей... шагаем по ним табом. И вот добрались до фамилий (поле активно).
Как сделать так, чтобы при вводе на клаве "и" появлялась фамилия "Иванов", при дальнейшем вводе "ву" - выбиралась фамилия "Ивушкин". Если нажать на "Backspace", то возвращаемся к "ив" и выбирается первое (в алфавитном порядке) слово "Иванов".
Такая фишка встречается в некоторых программах, а как сделать ее на JS - не знаю...
html_coder:
Yourock Нужно для этого select обрабатывать события от клавиатуры onKeyPress, onKeyUp, OnKeyDown, смотреть что за клавиши нажимает пользователь и смотреть есть ли соответствующие значения в элементах списка, если есть, то устанавливать соответствуеющий option для select.
Я тебе примерно описал как это делается, дальше просто нужно сесть и пробовать писать!
Yourock:
Ну что ж, спасибо. Буду пробовать... Просто я примерно так себе это и представлял, но КАК ИМЕННО обрабатывать этот селект - пока не могу понять...
html_coder:
Примерно так:
<select onKeyPress="keypress_handler(event)">
<option>Иванов</option>
<option>Петров</option>
<option>Сидоров</option>
</select>
<script language="JavaScript" type="text/javascript">
function keypress_handler()
{
/*
Можно просто собирать в какую-то переменную набираемую комбинацию симвлов, если пользователь нажал backspace стирать последний символ.
Набранную последовательность сравнивать при помощи строковых методов с значениями в option, если нашёл в каком-нибудь option, значение которое содержит в себе то, что набрал пользоваитель, то просто для этого select устанавливаешь value = равное этому значению.
Алгоритм примерно такой!
Дальше в любом случае надо пробовать самому!
*/
}
</script>
Yourock:
Спасибо большое.
Навигация
Перейти к полной версии