Заполнение значения в поле соответствующего выбранному из списка
Добрый день!
Есть таблица в БД с тремя полями: 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. Подскажите, как мне это реализовать? |
Не понял, а где у вас в селект эти id попадают? Откуда их брать то надо?
|
Цитата:
Наверно, эту задачу изначально надо было по-другому решать. Вот и спрашиваю совета бывалых. |
Так а в чем проблема 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> Или вы уже не можете изменить генерацию селекта? |
Цитата:
В итоге код таков: <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> Спасибо за помощь! |
Цитата:
|
Часовой пояс GMT +3, время: 10:41. |