如何获取 Javascript 选择框的选定文本

发布于 2024-09-07 17:37:38 字数 284 浏览 5 评论 0原文

这东西工作得很好,

<select name="selectbox" onchange="alert(this.value)">

但我想选择文本。我尝试过这种方式

<select name="selectbox" onchange="alert(this.text)">

它显示未定义。 我发现了如何使用 DOM 来获取文本。但我想以这种方式做到这一点,我的意思是只使用 this.value。

This things works perfectly

<select name="selectbox" onchange="alert(this.value)">

But I want to select the text. I tried in this way

<select name="selectbox" onchange="alert(this.text)">

It shows undefined.
I found how to use DOM to get text. But I want to do this in this way, I means like using just this.value.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

囍孤女 2024-09-14 17:37:39

我知道这里没有人要求 jQuery 解决方案,但可能值得一提的是,使用 jQuery,您只需要求:$('#selectorid').val()

I know no-one is asking for a jQuery solution here, but might be worth mentioning that with jQuery you can just ask for:$('#selectorid').val()

愿与i 2024-09-14 17:37:39

如果你想获取值,你可以使用此代码用于 id="selectBox" 的选择元素

let myValue = document.querySelector("#selectBox").value;

如果你想获取文本,你可以使用此代码

var sel = document.getElementById("selectBox");
var text= sel.options[sel.selectedIndex].text;

If you want to get the value, you can use this code for a select element with the id="selectBox"

let myValue = document.querySelector("#selectBox").value;

If you want to get the text, you can use this code

var sel = document.getElementById("selectBox");
var text= sel.options[sel.selectedIndex].text;
最偏执的依靠 2024-09-14 17:37:39

问题不在于价值,而在于文本。
想象一下你有这样的东西:

<select name="select">
<option value="1">0.5</option
<option value="2">0.7</option
</select>

并且你需要捕获文本。
所以对我来说,我尝试过使用 html (php),并且

 this.options[this.selectedIndex].text 

(来自 Delan Azabani)不起作用,但可以

 this.options[selectedIndex].text

工作,就像 HTML

令人惊讶的是,对于选择 this.text 不起作用,而 this.value 起作用

The question was not for the value but for the text.
Imagine you have something like :

<select name="select">
<option value="1">0.5</option
<option value="2">0.7</option
</select>

And you need to catch the text.
So for me I have tried with html (php), and

 this.options[this.selectedIndex].text 

(from Delan Azabani) doesn't work but

 this.options[selectedIndex].text

work, like this on HTML

<select ... onChange="upTVA(this.options[selectedIndex].text);">

It is still surprising that for a select this.text does not work while this.value works

陪你搞怪i 2024-09-14 17:37:38
this.options[this.selectedIndex].innerHTML

应该为您提供所选项目的“显示”文本。 this.value,正如您所说,仅提供 value 属性的值。

this.options[this.selectedIndex].innerHTML

should provide you with the "displayed" text of the selected item. this.value, like you said, merely provides the value of the value attribute.

再见回来 2024-09-14 17:37:38

为了获取所选项目的值,您可以执行以下操作:

this.options[this.selectedIndex].text

这里访问选择的不同options,并使用SelectedIndex来选择所选项目,然后正在访问其文本

此处了解有关选择 DOM 的更多信息。

In order to get the value of the selected item you can do the following:

this.options[this.selectedIndex].text

Here the different options of the select are accessed, and the SelectedIndex is used to choose the selected one, then its text is being accessed.

Read more about the select DOM here.

梦明 2024-09-14 17:37:38

请尝试这个代码:

$("#YourSelect>option:selected").html()

Please try this code:

$("#YourSelect>option:selected").html()
霓裳挽歌倾城醉 2024-09-14 17:37:38

只需使用

$('#SelectBoxId option:selected').text(); 获取列出的文本

$('#SelectBoxId').val(); 获取选定的索引值

Just use

$('#SelectBoxId option:selected').text(); For Getting text as listed

$('#SelectBoxId').val(); For Getting selected Index value

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文