我希望每次更改下拉列表的值时都能启动警报消息。我认为下面的代码应该有效但不是出于某些不明原因。有什么想法吗?
感谢。
<html>
<head>
<script type="text/javascript" src="lib/jquery.js"></script>
</head>
<body>
<script type="text/javascript">
$("select").change(function(){
alert(this.id);
});
</script>
<select>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</body>
</html>
答案 0 :(得分:13)
代码很好,你只是没有正确初始化。
...试
$(document).ready(function() {
$("select").change(function(){
alert(this.id);
});
});
请参阅文档here。
您的函数会提醒id
元素的select
(您尚未分配任何内容)。我假设你真的想从下拉列表中获得价值?在这种情况下你想要:
alert($(this).val());
答案 1 :(得分:3)
在页面加载完成后,注册onchange处理程序。
$(function() {
$("select").change(function(event) {
alert(this.id);
// alert( $(this).attr('id') ); to get the id attr with jquery
});
});
我还建议使用id定位select元素。每次页面上的任何选择更改时,您的代码都会显示警告。
答案 2 :(得分:0)
$(document).ready(function(){
$("#projectsName").change(function(){
alert("HI");
});
});
请注意,projectName是下拉列表的ID 并且没有其他具有相同名称的ID 其他明智的jquery将无法正常工作 还要仔细检查你的jquery插件