Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.04.2014, 12:17
Новичок на форуме
Отправить личное сообщение для orangebox Посмотреть профиль Найти все сообщения от orangebox
 
Регистрация: 16.04.2014
Сообщений: 8

Заполнение значения в поле соответствующего выбранному из списка
Добрый день!

Есть таблица в БД с тремя полями: id, name, adress.
Добавил на форму список <select> который заполняется значениями из поля name.

Мне нужно чтобы при выборе из списка соответствующее значение поля adress попадало в другое поле этой же формы.

На скорую руку набросал вот так:
<select name="prison_id"  class="reg_input_txt" id="1" onchange="document.getElementById('2').value = document.getElementById('1')[document.getElementById('1').selectedIndex].value">
                <option value="" disabled selected>не выбрано</option>
                <?php include "db_connect.php"; 
                $sql = "SELECT * FROM prison where active=1 ORDER BY `id` ASC";
                  if ($result = $mysqli->query($sql)) {
                    while ($prison = $result->fetch_object()){?>
                      <option value="<?echo $prison->adress;?>"><?echo $prison->name;?></option>                    
                    <?}
                  }
                ?>
</select><br>

<textarea class="reg_txtarea" name="" id="2" cols="43" rows="5" disabled></textarea>


Решение не устраивает тем, что в обработчик формы отправляется значение поля adress, а хотелось бы чтобы туда отправлялось значение поля id.

Подскажите, как мне это реализовать?
Ответить с цитированием
  #2 (permalink)  
Старый 16.04.2014, 13:00
Профессор
Отправить личное сообщение для jsnb Посмотреть профиль Найти все сообщения от jsnb
 
Регистрация: 15.03.2014
Сообщений: 561

Не понял, а где у вас в селект эти id попадают? Откуда их брать то надо?
Ответить с цитированием
  #3 (permalink)  
Старый 16.04.2014, 13:15
Новичок на форуме
Отправить личное сообщение для orangebox Посмотреть профиль Найти все сообщения от orangebox
 
Регистрация: 16.04.2014
Сообщений: 8

Сообщение от jsnb Посмотреть сообщение
Не понял, а где у вас в селект эти id попадают? Откуда их брать то надо?
В том то и дело, что в селект мне пришлось поместить adress чтобы выводить его в другом элементе формы. И id туда уже не запихнуть.

Наверно, эту задачу изначально надо было по-другому решать. Вот и спрашиваю совета бывалых.
Ответить с цитированием
  #4 (permalink)  
Старый 16.04.2014, 13:20
Профессор
Отправить личное сообщение для jsnb Посмотреть профиль Найти все сообщения от jsnb
 
Регистрация: 15.03.2014
Сообщений: 561

Так а в чем проблема id запихнуть в какой-нибудь data-id атрибут option?
Что-нить типо этого:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
</head>
<body>

<select onchange=" alert(this[this.selectedIndex].getAttribute('data-id') )">
 <option data-id="1" value="aaa">aaa111</option>
 <option data-id="12" value="bbb">aaa222</option>
 <option data-id="15" value="ccc">aaa333</option>
</select>

</body>
</html>


Или вы уже не можете изменить генерацию селекта?

Последний раз редактировалось jsnb, 16.04.2014 в 13:23.
Ответить с цитированием
  #5 (permalink)  
Старый 16.04.2014, 13:35
Новичок на форуме
Отправить личное сообщение для orangebox Посмотреть профиль Найти все сообщения от orangebox
 
Регистрация: 16.04.2014
Сообщений: 8

Сообщение от jsnb
Так а в чем проблема id запихнуть в какой-нибудь data-id атрибут option?
Это именно то что нужно! Я как то подзабыл, что в <option> можно произвольный атрибут загнать((

В итоге код таков:

<select name="prison_id"  class="reg_input_txt" id="1" onchange="document.getElementById('2').value = this[this.selectedIndex].getAttribute('adress')">
                <option value="" disabled selected>не выбрано</option>
                <?php include "db_connect.php"; 
                $sql = "SELECT * FROM prison where active=1 ORDER BY `id` ASC";
                  if ($result = $mysqli->query($sql)) {
                    while ($prison = $result->fetch_object()){?>
                      <option value="<?echo $prison->id;?>" adress="<?echo $prison->adress;?>"><?echo $prison->name;?></option>                    
                    <?}
                  }
                ?>
</select><br>

<textarea class="reg_txtarea" name="" id="2" cols="43" rows="5" disabled></textarea>


Спасибо за помощь!
Ответить с цитированием
  #6 (permalink)  
Старый 16.04.2014, 13:37
Профессор
Отправить личное сообщение для jsnb Посмотреть профиль Найти все сообщения от jsnb
 
Регистрация: 15.03.2014
Сообщений: 561

Сообщение от orangebox Посмотреть сообщение
Это именно то что нужно! Я как то подзабыл, что в <option> можно произвольный атрибут загнать((
Лучше всё-таки использовать data-* атрибуты т.к. в HTML5 именно они являются валидными.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запрос sql при выборе значения из списка maxis1523 Общие вопросы Javascript 4 22.05.2013 14:48
передача значения SRC в текстовое поле <INPUT> dimi007 jQuery 2 10.05.2011 11:00
Как определить длину значения, введенного в текстовое поле? Bandicoot Общие вопросы Javascript 4 11.03.2011 20:17
Передать все значения списка разом LRCenter Элементы интерфейса 10 23.06.2009 12:29
Добавить значения из одного списка в другой XAOC Events/DOM/Window 10 28.08.2008 13:18