jquery更改不适用于select

时间:2014-03-23 13:59:20

标签: jquery html select

为什么这不起作用?我不确定我做错了什么。我确定jquery正在页面上工作。

任何人都可以帮助我吗?提前致谢

<!DOCTYPE html>
<html>
<head>
    <link rel="stylesheet" type="text/css" href="styles/derweco.css"/>
    <script type="text/javascript" src="scripts/jquery-2.1.0.js"></script>
    <script type="text/javascript">

        $('#numbers').change(function(){
            alert('other value');
        });
    </script>
</head>
<body>
<div id="home">
    <select id="numbers">
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
    </select>
</div>
</body>
</html>

3 个答案:

答案 0 :(得分:6)

您需要将代码包装在 DOM ready 处理程序$(document).ready(function() {...});或更短的$(function() {...});内,以确保在执行之前已正确加载所有DOM元素你的jQuery代码。

$(function() {
    $('#numbers').change(function(){
        alert('other value');
    });
});

<强> Fiddle Demo

答案 1 :(得分:3)

如果你想注册像onchange这样的事件你应该把它放在

    $(documet).ready(function(){
$('#numbers').change(function(){
        alert('other value');
    });
});

注意$(documet).ready()等于$(),正如Felix指出的那样!

另请注意,您可以使用普通Javascript应用事件注册,如下所示:

window.onload=function(){};

答案 2 :(得分:2)

<!DOCTYPE html>
<html>
<head>
    <link rel="stylesheet" type="text/css" href="styles/derweco.css"/>
    <script type="text/javascript" src="scripts/jquery-2.1.0.js"></script>
    <script type="text/javascript">
      $(document).ready(function(){ //Added DOM ready 
        $('#numbers').change(function(){
            alert('other value');
        });
     });
    </script>
</head>
<body>
<div id="home">
    <select id="numbers">
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
    </select>
</div>
</body>
</html>