Javascript 如何获取HTML下拉框的内容?
我有一个下拉列表作为表单的一部分。它调用JavaScript函数作为其操作,其内容是多个字符串之一 在该函数中,我需要获取用户选择的字符串。我遇到了一个函数,它可以让我获得所选项目的索引号,但是由于列表的内容可能不同,它实际上是无用的。是否有一种方法可以让我获取用户输入的实际字符串,可能是使用DOM和Javascript 如何获取HTML下拉框的内容?,javascript,jquery,forms,dom,drop-down-menu,Javascript,Jquery,Forms,Dom,Drop Down Menu,我有一个下拉列表作为表单的一部分。它调用JavaScript函数作为其操作,其内容是多个字符串之一 在该函数中,我需要获取用户选择的字符串。我遇到了一个函数,它可以让我获得所选项目的索引号,但是由于列表的内容可能不同,它实际上是无用的。是否有一种方法可以让我获取用户输入的实际字符串,可能是使用DOM和getElementById(),或者使用JQuery 我考虑过使用文本字段,但这可能会导致与界面相关的错误。不太确定您想要什么,但根据我的理解,可能: HTML <select>
getElementById()
,或者使用JQuery
我考虑过使用文本字段,但这可能会导致与界面相关的错误。不太确定您想要什么,但根据我的理解,可能: HTML
<select>
<option value="1">This is the first one</option>
<option value="2">This is the second one</option>
</select>
编辑:
您似乎想要选项的文本,而不是值
第二次编辑:
在OP中使用Rob的建议,因此我们不需要重复
HTML
请注意,addEventListener不适用于Internet Explorer 8及以下版本,因此需要使用attachEvent。这应该会给你一个很好的主意。
有关更多参考,请参阅
您在这里使用了一些模棱两可的术语,并且没有显示任何代码,这只会增加我们识别所需内容的难度。您是否需要在('change')上获取
的值,并将该值发送到函数
?您可以在所有浏览器中使用selectElement.options[selectElement.selectedIndex].text获取所选选项的文本,其中selectElement是对选定元素的引用。请注意,如果未选择任何选项,所选索引将为-1,因此您可能需要先检查selectElement.selectedIndex>=0
。获取用户输入的实际字符串-在select
框中,用户不输入任何内容。。。
$('select').on('change', function() {
alert($(this).find('option:selected').text());
})
<select name="myselect" id="myselect">
<option value="alpha">one</option>
<option value="beta">two</option>
<option value="gamma">three</option>
</select>
var mySelect = document.getElementById('myselect'); //get our select by its ID
mySelect.addEventListener('change', function(evt){
return evt.target.options[evt.target.selectedIndex].text;
});