Вывести значения 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, время: 03:36. |