Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.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 jquery在更改时未从select语句中获取值_Javascript_Jquery_Jquery Selectors - Fatal编程技术网

Javascript jquery在更改时未从select语句中获取值

Javascript jquery在更改时未从select语句中获取值,javascript,jquery,jquery-selectors,Javascript,Jquery,Jquery Selectors,这真的很奇怪,但我可能遗漏了一些简单的东西。我有一个简单的select语句,用户可以在其中选择一个值 onChange调用一个函数getDrop2(),当前我正试图让它提醒我选择了哪个选项 我的html是: <select onChange= "getDrop2()" id = "drop1" > <option value="0">All</option> <option value="1">Alphabetical<

这真的很奇怪,但我可能遗漏了一些简单的东西。我有一个简单的select语句,用户可以在其中选择一个值

onChange调用一个函数getDrop2(),当前我正试图让它提醒我选择了哪个选项

我的html是:

<select  onChange= "getDrop2()" id = "drop1" >
     <option value="0">All</option>
     <option value="1">Alphabetical</option>
     <option value="2">Brewery</option>
     <option value="3">Style</option>
</select>

alert语句的输出为空

在jQuery中,您最好执行以下操作:

<select id = "drop1" >
     <option value="0">All</option>
     <option value="1">Alphabetical</option>
     <option value="2">Brewery</option>
     <option value="3">Style</option>
</select>

其思想是jQuery现在自动将更改函数附加到id为“drop1”的select,通过使用此模式,您已经将HTML与执行业务逻辑的JavaScript解耦。

尽管其他人选择的方法更好。我的答案只是告诉你为什么你的代码不起作用

试试这个

var choice = $('#drop1 option:selected').val()
而不是

var choice = $("#drop1").val()

试用instead@Mike这应该行得通。看这个。你可能有另一个ID相同的元素吗?@Boaz你是对的,我一定有一些名字相似的随机元素。我把它改成了真正随机的东西,现在它可以工作了。谢谢(我想应该有用!)迈克:没问题。既然它在起作用,考虑下面的一个答案(布瑞恩或Adeneo的),因为他们提供了一个更好和更清洁的方法来实现这一点。
var choice = $('#drop1 option:selected').val()
var choice = $("#drop1").val()