Заполнение значения в поле соответствующего выбранному из списка
Добрый день!
Есть таблица в БД с тремя полями: 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, время: 02:12. |