Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: как сделать подсказку, как в яндексе например?
 
 автор: sasha1133   (27.12.2009 в 16:30)   письмо автору
 
 

У меня возникла такая проблема.
Есть текстовое поле <input type='text' . . . >, куда нужно ввести марку автомобиля.

1) Как сделать так, чтобы когда начинаешь вводить текст, внизу появлялся раскрывающийся список со словами-подсказками (как в яндексе или гугле например)? Но чтобы также можно было написать произвольный текст (опять же как в яндексе)?

2) Какой тип <input> нужно использовать для этого?

3) Можно ли обойтись без ajax, ведь список с марками авто не такой уж объёмный, можно ли включить его в файл сразу?

4) Как сделать чтобы в следующем поле, где нужно указывать модель авто, появлялась подсказка в зависимости от выбора марки в первом поле (то есть выбираешь в первом например BMW, во втором уже будут подсказки 740, 735 ... например) ?

  Ответить  
 
 автор: sim5   (27.12.2009 в 18:00)   письмо автору
 
   для: sasha1133   (27.12.2009 в 16:30)
 

Это либо ajax, либо просто JS-сценарий, если файл описаний загружается клиенту. Тут уже можно сделать чистым перебором массива описаний, сравнивая с вводом.

  Ответить  
 
 автор: sasha1133   (27.12.2009 в 18:29)   письмо автору
 
   для: sim5   (27.12.2009 в 18:00)
 

а можно по подробнее про 2й вариант. я так понимаю создаётся поле <input type="text"> для которого есть обработчик события, когда меняется текст (onChange кажется называется). Потом производится поиск по имеющимся словам, и если находятся, то внизу выводится подсказка. Только вот не знаю, как сделать эту подсказку - с помощью <select><option> или как лучше? Хочу чтобы выглядело это как в гугле или яндексе.

  Ответить  
 
 автор: sim5   (27.12.2009 в 18:35)   письмо автору
 
   для: sasha1133   (27.12.2009 в 18:29)
 

Как же вы собираетесь такое написать, если вам кажется? ) Вам ведь нужно будет решить многое для этого. select для этих целей не очень удобен, лучше выводить список в слой, который нужно позиционировать к полю ввода и раскрывать при обнаружении совпадений.

  Ответить  
 
 автор: sasha1133   (27.12.2009 в 19:10)   письмо автору
 
   для: sim5   (27.12.2009 в 18:35)
 

Просто я только изучаю JS. Что значит выводить список в слой? С помощью <div> и z-index задать, чтобы поверх страницы было?

  Ответить  
 
 автор: sim5   (28.12.2009 в 04:56)   письмо автору
 
   для: sasha1133   (27.12.2009 в 19:10)
 

Да, так, хотя это и не обязательно может быть DIV. Суть не в этом.

  Ответить  
 
 автор: sasha1133   (28.12.2009 в 05:10)   письмо автору
 
   для: sim5   (28.12.2009 в 04:56)
 

Так а что собой представляет этот белый прямоугольник со списком слов под текстовым полем в яндексе или гугле к примеру? и как он появляется? Пробовал разобраться в коде - не получилось пока. То есть для меня важно именно как сделать именно этот прямоугольник, да так, чтоб из него можно было клавишами вверх-вниз выбирать слова (или кликом мыши). Буду очень признателен Вам, если мне объясните )

  Ответить  
 
 автор: sim5   (28.12.2009 в 06:00)   письмо автору
 
   для: sasha1133   (28.12.2009 в 05:10)
 

Для того, чтобы сделать "этот прямоуголник" необходимо знать JS. Если вы начнете изучать его с "этого прямоугольника", то значит вы его так и не познаете. Поэтому, либо забудьте о нем на время, либо поищите в сети код готовый и используйте.
Возможен и другой подход - изучение чужого кода, но чтобы его изучить, нужны базовые знания, которых у вас нет.
И что теперь делать с вами? Здесь форум, помогают в конкретных вопросах, а не читают курс лекций. Берите книгу, либо скачивайте из интернета, начинайте изучать. Тогда ответы вам будут иметь хоть какое-то воздействие, иначе вы на каждый новый ответ вам, будете задавать еще по сотне вопросов.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования