Вывести текст в input
Есть такой select
<select id="selectConfig1">
<option value="100:первая опция">
<option value="200:вторая опция">
</select>
И есть такой инпут
<input type="text" id="kod" name="kod" value="10:0:0:0:0">
Я написал код, который бы менял 10 в инпуте на значение из селекта:
const
config1 = document.getElementById('selectConfig1'),
kod = document.getElementById('kod');
function setValue1 (){
const config1V = config1.value.split(":"); /*значение из селекта */
kodV = kod.value.split(":"); /*массив всех ячеек инпута */
kod1V = kodV[0]; /* первая ячейка */
kod1V.innerText = config1V[0].innerText; /*по идее ячейка с 10 должна поменяться на значение из инпута */
};
document.addEventListener('DOMContentLoaded', setValue1);
config1.addEventListener('change', setValue1);
Но оно не работает, инпут выводит такое
Ответы (1 шт):
Автор решения: Rudi
→ Ссылка
Как-то так можно сделать.. Где у тебя строка kod1V.innerText = config1V[0].innerText; можно переписать так 10.innerText = 100.innerText а так быть не может.. Названия переменных в твоём примере, вносят путаницу ИМХО.
let select = document.getElementById('сonfig1');
let inp = document.getElementById('inp');
function setValue1() {
let selectVal = select.value.split(":"); /*значение из селекта */
let inputVal = inp.value.split(":"); /*массив всех ячеек инпута */
inputVal[0] = selectVal[0]; /* первая ячейка */
inp.value = inputVal.join(":"); /*ячейка с 10 меняется на значение из инпута */
};
document.addEventListener('DOMContentLoaded', setValue1);
select.addEventListener('change', setValue1);
<select id="сonfig1">
<option value="100:первая опция">
<option value="200:вторая опция">
</select>
<input type="text" id="inp" name="kod" value="10:0:0:0:0">
