Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何获取HTML下拉框的内容?_Javascript_Jquery_Forms_Dom_Drop Down Menu - Fatal编程技术网

Javascript 如何获取HTML下拉框的内容?

Javascript 如何获取HTML下拉框的内容?,javascript,jquery,forms,dom,drop-down-menu,Javascript,Jquery,Forms,Dom,Drop Down Menu,我有一个下拉列表作为表单的一部分。它调用JavaScript函数作为其操作,其内容是多个字符串之一 在该函数中,我需要获取用户选择的字符串。我遇到了一个函数,它可以让我获得所选项目的索引号,但是由于列表的内容可能不同,它实际上是无用的。是否有一种方法可以让我获取用户输入的实际字符串,可能是使用DOM和getElementById(),或者使用JQuery 我考虑过使用文本字段,但这可能会导致与界面相关的错误。不太确定您想要什么,但根据我的理解,可能: HTML <select>

我有一个下拉列表作为表单的一部分。它调用JavaScript函数作为其操作,其内容是多个字符串之一

在该函数中,我需要获取用户选择的字符串。我遇到了一个函数,它可以让我获得所选项目的索引号,但是由于列表的内容可能不同,它实际上是无用的。是否有一种方法可以让我获取用户输入的实际字符串,可能是使用DOM和
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;  
});