Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Изменение в поле при выборе в списке, help 
:(
    Опции темы
langolier
Дата 27.8.2008, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 29.7.2008

Репутация: нет
Всего: нет



Есть простая форма:

Код

<form id="form1" name="form1" method="post" action="">
  <select name="select" id="select">
    <option>Значение 1</option>
    <option>Значение 2</option>
    <option>Значение 3</option>
    <option>Значение 4</option>
  </select>
  </label>
  <label> <br />
  <br />
  <input type="text" name="textfield" id="textfield" />
</form>


Как сделать, что бы при начале ввода данных в текстовое поле в списке автоматом выбирался первый пункт. И наоборот при выборе в списке пункта он записывался в текстовое поле.
PM MAIL   Вверх
bars80080
Дата 27.8.2008, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 44
Всего: 315



1. в поле событие onchange="func(this);"
в функции получить значение, затем по циклу пробежаться по всем оптионсам списка и поставить в случае совпадения x.value == opt.text значение selected

2. в селекте событие onchange="func1(this)";
в функции получить значение выбранного оптионса и приравнять значению поля
PM MAIL WWW   Вверх
comtat
Дата 27.8.2008, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1310
Регистрация: 2.5.2006
Где: Россия, Казань

Репутация: 7
Всего: 71



Код

<html>
<head><title></title></head>
<body>
<script>
var index = 0;
var value = '';

function setValue(select) {
  index = select.selectedIndex;

  if (index == 0 && value == '')
    return;
  else {
    value = select.options[index].innerHTML;
    document.getElementById('textfield').value = value;
  }
}

function selectValue() {
   document.getElementById('select').selectedIndex = 0;
}
</script>
<form id="form1" name="form1" method="post" action="">
  <select onclick="setValue(this);" name="select" id="select">
    <option>Значение 1</option>
    <option>Значение 2</option>
    <option>Значение 3</option>
    <option>Значение 4</option>
  </select>
  <br /><br />
  <input type="text" name="textfield" id="textfield" onkeydown="selectValue();" />
</form>
</body>
</html>



--------------------
Рожденный в СССР !!!
ExtJS - мой фреймворк 
PM   Вверх
langolier
Дата 27.8.2008, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 29.7.2008

Репутация: нет
Всего: нет



Спасибо)
PM MAIL   Вверх
splean
Дата 12.3.2009, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 12.3.2009

Репутация: нет
Всего: нет



Прошу прощения за ап темы, юзал поиск, мне это решение почти помогло)

Задача следующая: при выборе из списка города выводить соответствующий погодный информер Яндекса без перезагрузки  страницы.

Ссылка на информер строится таким образом:
Код

<a href="http://clck.yandex.ru/redir/dtype=stred/pid=7/cid=1228/*http://weather.yandex.ru/index.xml?city=_________">
<img src="http://info.weather.yandex.net/informer/150x150/_________.png" border="0" alt="Яндекс.Погода"/>
<img width="1" height="1" src="http://clck.yandex.ru/click/dtype=stred/pid=7/cid=1227/*http://img.yandex.ru/i/pix.gif" alt="" border="0"/></a>


Вместо _________ - числовой идентификатор города. Отсюда и пляшем, изменяя предложенный выше код:
Код

<script>
var index = 0;
var value = '';
function setValue(select) {
  index = select.selectedIndex;
  if (index == 0 && value == '')
    return;
  else {
    value = select.options[index].value;
    document.getElementById('textfield').value = value;
  }
}
function selectValue() {
   document.getElementById('select').selectedIndex = 0;
}
</script>

<form id="form1" name="form1" method="post" action="">
  <select onclick="setValue(this);" name="select" id="select">
    <option value="22222">Город 1</option>
    <option value="22223">Город 2</option>
    <option value="22224">Город 3</option>
    <option value="22225">Город 4</option>
    <option value="22226">Город 5</option>
  </select>
  <br /><br />

  <input type="text" name="textfield" id="textfield" onkeydown="selectValue();" />
</form>


Т.е. заменили в скрипте
Код

value = select.options[index].innerHTML;
на
value = select.options[index].value;

и в селекте добавили option-ам value, соответствующие городам.

Задача состоит в том, чтобы вместо засовывания в этот текстовый input этих value, формировалась ссылка на информер, где вместо знаков подчеркивания ставился бы этот value. Ну и конечно же чтобы подгружался этот информер, а старый убирался. Вот именно последняя часть меня смущает и я не знаю что тут делать. Буду рад помощи)


Это сообщение отредактировал(а) splean - 12.3.2009, 16:43
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0442 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.