我有一个下拉列表作为表单的一部分。它将JavaScript函数称为其动作,其内容是多个字符串之一。
在该函数中,我需要获取用户选择的字符串。我遇到了一个函数,它让我得到所选项目的索引号,但由于列表的内容可能会有所不同,所以它实际上是无用的。是否有一种方法可以让我获得用户输入的实际字符串,可能是使用DOM和getElementById()
,还是使用JQuery?
我考虑使用文本字段,但这会带来与界面相关的错误的可能性。
答案 0 :(得分:1)
不太确定你想要什么,但根据我的理解this is it:
<强> HTML 强>
<select>
<option value="1">This is the first one</option>
<option value="2">This is the second one</option>
</select>
<强>的Javascript 强>
$('select').on('change', function() {
alert($(this).find('option:selected').text());
})
答案 1 :(得分:0)
修改强> 您似乎想要选项的文本,而不是值。
第二次修改 在OP中使用Rob的建议,所以我们不需要迭代。
HTML
<select name="myselect" id="myselect">
<option value="alpha">one</option>
<option value="beta">two</option>
<option value="gamma">three</option>
</select>
JS
var mySelect = document.getElementById('myselect'); //get our select by its ID
mySelect.addEventListener('change', function(evt){
return evt.target.options[evt.target.selectedIndex].text;
});
请注意, addEventListener 在Internet Explorer 8及更低版本上不起作用,因此您需要使用 attachEvent 。这应该会给你一个很好的主意。 如需进一步参考,请参阅https://developer.mozilla.org/en-US/docs/DOM/element.addEventListener