此代码仅将选择标记值添加到输入。
function myFunction(e) {
document.getElementById("myid").value = e.target.value
}我想添加文本。
此代码不起作用:
function myFunction(e) {
document.getElementById("myid").value = e.target.text
}Html代码:
<select onchange="myFunction(event)">
<option value="">Please select...</option>
<option value="0">Text 1</option>
<option value="1">Text 2</option>
</select>
<input type="text" id="myid">发布于 2019-10-11 17:27:44
使用e.target.options[e.target.selectedIndex].text获取选项文本值
function myFunction(e) {
document.getElementById("myid").value = e.target.value === "" ? "" : e.target.options[e.target.selectedIndex].text
}<select onchange="myFunction(event)">
<option value="">Please select...</option>
<option value="0">Text 1</option>
<option value="1">Text 2</option>
</select>
<input type="text" id="myid">
发布于 2019-10-11 17:27:03
你想要这个。
我正在传递select本身,并使用普通的方法获取文本内容。
我还进行了测试,以确保该字段不会包含“请选择...”。
function myFunction(sel) {
document.getElementById("myid").value = sel.selectedIndex < 1 ? "" : sel.options[sel.selectedIndex].text; // or .textContent
}<select onchange="myFunction(this)">
<option value="">Please select...</option>
<option value="0">Text 1</option>
<option value="1">Text 2</option>
</select>
<input type="text" id="myid">
这是一个不起眼的版本
document.getElementById("sel").addEventListener("change", function() {
document.getElementById("myid").value = this.selectedIndex < 1 ? "" : this.options[this.selectedIndex].text; // or .textContent
})<select id="sel">
<option value="">Please select...</option>
<option value="0">Text 1</option>
<option value="1">Text 2</option>
</select>
<input type="text" id="myid">
发布于 2019-10-11 17:30:09
使用textContent,使用this关键字传递元素,而不是传递事件
function myFunction(e) {
document.getElementById("myid").value = e.options[e.selectedIndex].textContent
}<select onchange="myFunction(this)">
<option value="">Please select...</option>
<option value="0">Text 1</option>
<option value="1">Text 2</option>
</select>
<input type="text" id="myid">
https://stackoverflow.com/questions/58338100
复制相似问题