Вывести значения value из select в input
Здравствуйте. Пытаюсь вывести значения value из select. Мне нужно динамически подставлять это значения в input, соответственно при каждом изменении селекта. Подскажите пожалуйста как это попроще сделать?
<select name="sitetime" id="sitetime" onchange="with (this) document.getElementById ('rez').innerHTML = (selectedIndex) ? options [selectedIndex].text / 15 - 1 : '3'"> <option value="1" >60</option> <option value="2" >90</option> <option value="2" >120</option> <option value="3" >150</option> <option value="3" >180</option> <option value="4" >210</option> <option value="4" >240</option> <option value="5" >270</option> <option value="5" >300</option> </select> |
Да так же и делай на ончейнж
<input id="myInp" > <select name="sitetime" id="sitetime" onchange="document.getElementById('myInp').value= this.value"> <option value="1" >60</option> <option value="2" >90</option> <option value="2" >120</option> <option value="3" >150</option> <option value="3" >180</option> <option value="4" >210</option> <option value="4" >240</option> <option value="5" >270</option> <option value="5" >300</option> </select> |
Цитата:
<select name="sitetime" id="sitetime" onchange="document.getElementById('rez').value=value"> <option value="" ></option> <option value="1" >60</option> <option value="2" >90</option> <option value="2" >120</option> <option value="3" >150</option> <option value="3" >180</option> <option value="4" >210</option> <option value="4" >240</option> <option value="5" >270</option> <option value="5" >300</option> </select> <input type='text' id='rez' /> |
Спасибо за помощь
|
А что если у меня есть 2 select и в зависимости от выбранных пунктов редактировать значение в 3-х полях
|
burlesk32,
делайте макет и подробное описание |
А как вставить несколько выбранных значений через запятую?
|
Цитата:
<select name="sitetime" id="sitetime" onchange="document.getElementById('rez').value+=value+','"> <option value="" ></option> <option value="1" >60</option> <option value="2" >90</option> <option value="2" >120</option> <option value="3" >150</option> <option value="3" >180</option> <option value="4" >210</option> <option value="4" >240</option> <option value="5" >270</option> <option value="5" >300</option> </select> <input type='text' id='rez' /> |
j0hnik,
а если уже выбиралось ранее? Наверное multiple все-таки и очищать приемник перед заполнением? |
Цитата:
|
j0hnik, Спасибо)
Вот только вопрос как сделать чтоб когда выбираешь к примеру вставляется 150,180, и вот тут последняя запятая лишняя тобишь надо чтоб было 150,180 |
Цитата:
|
<select name="sitetime" id="sitetime" onchange="document.getElementById('rez').value = [].map.call(selectedOptions,el=>el.text)" multiple="multiple" size="7"> <option value="" ></option> <option value="1" >60</option> <option value="2" >90</option> <option value="2" >120</option> <option value="3" >150</option> <option value="3" >180</option> <option value="4" >210</option> <option value="4" >240</option> <option value="5" >270</option> <option value="5" >300</option> </select> <input type='text' id='rez' /> |
Цитата:
Ну возьмет отрок код этот, а он вряд ли знает, что это не везде будет работать. |
laimas,
:) <select name="sitetime" id="sitetime" onchange="document.getElementById('rez').value = [].reduce.call(options,function(a,b) { b.selected && a.push(b.text); return a },[])" multiple="multiple" size="7"> <option value="" ></option> <option value="1" >60</option> <option value="2" >90</option> <option value="2" >120</option> <option value="3" >150</option> <option value="3" >180</option> <option value="4" >210</option> <option value="4" >240</option> <option value="5" >270</option> <option value="5" >300</option> </select> <input type='text' id='rez' /> |
Вот, конечно не скажешь, что "старый добрый ..." на все 100, но все таки больше надежды. :D
|
document.getElementById("rez").value=[].map.call(selectedOptions,function(a){return a.text}); |
Цитата:
<script> function fn(sel) { var a = [],i = 0, b; for (; b = sel.options[i++];) {if(b.selected) a.push(b.text)}; document.getElementById('rez').value = a; } </script> <select name="sitetime" id="sitetime" onchange="fn(this)" multiple="multiple" size="7"> <option value="" ></option> <option value="1" >60</option> <option value="2" >90</option> <option value="2" >120</option> <option value="3" >150</option> <option value="3" >180</option> <option value="4" >210</option> <option value="4" >240</option> <option value="5" >270</option> <option value="5" >300</option> </select> <input type='text' id='rez' /> |
рони,
теперь отрок может быть уверен, что работать будет, даже в Блокноте. :) |
рони, Доброго времени, Ув. ронни спасибо за решение вы как всегда на высоте)))
Но тут назрел вопросец если мне понадобиться брать value как быть? |
Цитата:
заменить |
<select name="sitetime" id="sitetime" onchange="document.getElementById('rez').value+=value+','"> <option value="" ></option> <option value="1" >60</option> <option value="2" >90</option> <option value="2" >120</option> <option value="3" >150</option> <option value="3" >180</option> <option value="4" >210</option> <option value="4" >240</option> <option value="5" >270</option> <option value="5" >300</option> </select> <input type='text' id='rez' /> Как правильно написать это в <script></script> onchange="document.getElementById('rez').value+=va lue+','" |
Alexodiy,
:-? <!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <script> window.addEventListener('DOMContentLoaded', function() { var select = document.querySelector('[name="sitetime"]'), res = document.getElementById('rez'); select.addEventListener('change', function() { res.value+=this.value+',' }); }); </script> </head> <body> <select name="sitetime" id="sitetime" > <option value="" ></option> <option value="1" >60</option> <option value="2" >90</option> <option value="2" >120</option> <option value="3" >150</option> <option value="3" >180</option> <option value="4" >210</option> <option value="4" >240</option> <option value="5" >270</option> <option value="5" >300</option> </select> <input type='text' id='rez' /> </body> </html> |
А можно ли сделать проверку <input type='text' id='rez' /> и если value совпадает то в селекте в опции выводим selected
|
Alexodiy,
не понимаю |
Alexodiy, как-то так?
<!DOCTYPE html> <!-- © рони https://javascript.ru/forum/events/50724-vyvesti-znacheniya-value-iz-select-v-input-3.html#post471442 --> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <script> window.addEventListener('DOMContentLoaded', function() { var select = document.querySelector('[name="sitetime"]'), res = document.getElementById('rez'); select.addEventListener('change', function() { res.value+=this.value+',' }); res.addEventListener('input', function() { var v=(res.value.split(',').filter(function(v){ return !!v.trim().length; }).pop()||'').trim(); if([].some.call(select.options,function(opt){ return opt.value==v; })) select.value=v; }); }); </script> </head> <body> <select name="sitetime" id="sitetime" > <option value="" ></option> <option value="1" >60</option> <option value="2" >90</option> <option value="2" >120</option> <option value="3" >150</option> <option value="3" >180</option> <option value="4" >210</option> <option value="4" >240</option> <option value="5" >270</option> <option value="5" >300</option> </select> <input type='text' id='rez' /> </body> </html> |
Цитата:
Цитата:
|
рони, я обратил на это внимание, однако какой из нескольких вариантов выбирать непонятно.
|
Цитата:
|
Часовой пояс GMT +3, время: 08:55. |