首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何添加选择标签文本到输入?

如何添加选择标签文本到输入?
EN

Stack Overflow用户
提问于 2019-10-11 17:21:01
回答 3查看 59关注 0票数 0

此代码仅将选择标记值添加到输入。

代码语言:javascript
运行
复制
function myFunction(e) {
    document.getElementById("myid").value = e.target.value
}

我想添加文本。

此代码不起作用:

代码语言:javascript
运行
复制
function myFunction(e) {
        document.getElementById("myid").value = e.target.text
    }

Html代码:

代码语言:javascript
运行
复制
<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">
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-10-11 17:27:44

使用e.target.options[e.target.selectedIndex].text获取选项文本值

代码语言:javascript
运行
复制
function myFunction(e) {
        document.getElementById("myid").value = e.target.value === "" ? "" : e.target.options[e.target.selectedIndex].text
    }
代码语言:javascript
运行
复制
<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">

票数 1
EN

Stack Overflow用户

发布于 2019-10-11 17:27:03

你想要这个。

我正在传递select本身,并使用普通的方法获取文本内容。

我还进行了测试,以确保该字段不会包含“请选择...”。

代码语言:javascript
运行
复制
function myFunction(sel) {
  document.getElementById("myid").value = sel.selectedIndex < 1 ? "" : sel.options[sel.selectedIndex].text; // or .textContent
}
代码语言:javascript
运行
复制
<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">

这是一个不起眼的版本

代码语言:javascript
运行
复制
document.getElementById("sel").addEventListener("change", function() {
  document.getElementById("myid").value = this.selectedIndex < 1 ? "" : this.options[this.selectedIndex].text; // or .textContent
})
代码语言:javascript
运行
复制
<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">

票数 1
EN

Stack Overflow用户

发布于 2019-10-11 17:30:09

使用textContent,使用this关键字传递元素,而不是传递事件

代码语言:javascript
运行
复制
function myFunction(e) {
    document.getElementById("myid").value = e.options[e.selectedIndex].textContent
    }
代码语言:javascript
运行
复制
<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">

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58338100

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档