0

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

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);

}

警报语句的输出只是空白。

4

2 回答 2

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 现在自动将 change 函数附加到 id 为“drop1”的 select 通过使用这种模式,您已经将 HTML 与执行业务逻辑的 JavaScript 分离。

于 2013-02-11T22:59:51.783 回答
0

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

试试这个

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

代替

var choice = $("#drop1").val()
于 2013-02-11T23:19:41.193 回答