jquery在更改时没有从select语句中获取值

时间:2013-02-11 22:55:22

标签: javascript jquery jquery-selectors

这真的很奇怪,但我可能错过了一些简单的事情。我有一个简单的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>

我的Javascript是:

function getDrop2(){
    var choice = $("#drop1").val()
    alert(choice);

}

alert语句的输出只是空白。

2 个答案:

答案 0 :(得分:2)

在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>

使用以下JavaScript:

 $(function(){
    $('#drop1').change(function() {
        var choice = $(this).val();
        alert(choice);
    }
  });

我们的想法是jQuery现在自动将更改函数附加到id为“drop1”的select中。通过使用此模式,您可以将HTML与正在执行业务逻辑的JavaScript分离。

答案 1 :(得分:0)

虽然其他人选择的是更好的方法。我的回答是告诉你为什么你的代码不能正常工作

试试这个

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

而不是

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