简体   繁体   English

如何通过 select 选项更改所有输入值

[英]How to change all input value by select an option

How to change all input value by select an option.如何通过 select 选项更改所有输入值。 Please help me.请帮我。

 function getValue(selectObject) { var someValue = selectObject.value; document.getElementById("msn_v").value = someValue; }
 <select class="outofstockselectswitch" onchange="getValue(this)"> <option value="Audi">Audi</option> <option value="BMW">BMW</option> <option value="Mercedes">Mercedes</option> <option value="Volvo">Volvo</option> </select> <form> <input id="msn_v" name="p_name" > <input id="msn_v" name="p_name" > <input id="msn_v" name="p_name" > <input id="msn_v" name="p_name" > </form>

**This code is working for first inputs only. **此代码仅适用于第一次输入。 But i need to change all input value.但我需要更改所有输入值。 ** **

id attribute in HTML is unique. HTML 中的 id 属性是唯一的。 You should rather use class, then using document.getElementsByClassName, you can set the inputs.您应该使用 class,然后使用 document.getElementsByClassName,您可以设置输入。

 function getValue(selectObject) { var someValue = selectObject.value; var inputs = document.getElementsByClassName("msn_v"); for(let i=0;i<inputs.length;i++){ inputs[i].value = someValue; } }
 <select class="outofstockselectswitch" onchange="getValue(this)"> <option value="Audi">Audi</option> <option value="BMW">BMW</option> <option value="Mercedes">Mercedes</option> <option value="Volvo">Volvo</option> </select> <form> <input class="msn_v" name="p_name" > <input class="msn_v" name="p_name" > <input class="msn_v" name="p_name" > <input class="msn_v" name="p_name" > </form>

 const v_brand = document.querySelector("#v_brand"); const p_names = document.querySelectorAll("input[name='p_name']"); const p_names_updater = () => p_names.forEach(input => input.value = v_brand.value); v_brand.addEventListener("change", p_names_updater); p_names_updater();
 <select id="v_brand"> <option value="Audi">Audi</option> <option value="BMW">BMW</option> <option value="Mercedes">Mercedes</option> <option value="Volvo">Volvo</option> </select> <form> <input name="p_name"> <input name="p_name"> <input name="p_name"> <input name="p_name"> </form>

Change this:改变这个:

document.getElementById("msn_v").value = someValue;

To this:对此:

[...document.querySelectorAll('[name=p_name]')].forEach(elem => elem.value = someValue);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM