.change不按预期工作

时间:2014-03-20 12:10:05

标签: jquery onchange

我正在尝试学习如何在jquery中使用更改函数,但我似乎无法触发函数。由于我不是最好的,我想我会尝试别人的代码,但这也不起作用。我从这个问题的第一个答案中复制了代码

jquery not getting value from select statement on change

HTML

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

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

http://jsfiddle.net/jCLJ9/

但我仍然无法让它发挥作用。这是我用于Jquery的链接 ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js

5 个答案:

答案 0 :(得分:2)

你有拼写错误

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

更改代码

$(function () {
 $('#drop1').change(function () {
     var choice = $(this).val();
     alert(choice);
 } //remover this extra } 
 });
// add extra }); for closing DOM Ready function 

您可以使用$(this).val();

代替this.value

答案 1 :(得分:2)

应该是这样的

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

你忘了正确地附上.change()事件。

这是你的工作小提琴http://jsfiddle.net/jogesh_pi/jCLJ9/2/

答案 2 :(得分:2)

您没有关闭change的函数调用,因此您可能会在JavaScript控制台中出现语法错误。请注意您的版本:

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

结束}结束匿名function,但change()来电的括号仍然打开。你需要关闭它们:

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

答案 3 :(得分:2)

错过关闭大括号导致错误:

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

See demo

答案 4 :(得分:1)

尝试下面的事情哥们你错过了关闭括号

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