这个问题已经被问到了,但我最基本的问题仍然存在。除了select标签并试图通过jquery捕获更改事件,我没有向我的html添加任何内容。这是我的代码:
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
<script>
$('#target').bind("change", function{
alert('Changed');
});
</script>
</head>
<body>
<form>
<select id="target">
<option value="option1" selected="selected">Option 1</option>
<option value="option2">Option 2</option>
</select>
</form>
</body>
即使是change()函数也不起作用。
<script>
$('#target').change(function() {
alert('Changed');
});
</script>
请帮我弄清楚我做错了什么。在Stackoverflow上的一个类似问题中,我得到http://jsfiddle.net/78x9Q/4/作为答案。但即使是该代码的精确复制粘贴也不适用于我。
P.S。:jQuery正在加载,因为我测试了它,并发现使用它:
<script>
$(function() {
alert('Changed');
});
</script>
答案 0 :(得分:6)
您的代码无效,因为您尚未构建dom时尝试使用dom。使用此:
$(document).ready(function () {
// your code
});
然后你的代码将在dom已经构建时运行。
答案 1 :(得分:4)
此:
<script>
$('#target').change(function() {
alert('Changed');
});
</script>
应该是这样的:
<script>
$(function () {
$('#target').change(function() {
alert('Changed');
});
});
</script>
意味着您在文档准备好之前正在执行绑定。
答案 2 :(得分:3)
像这样使用
$(document).ready(function () {
$('#target').change(function() {
alert('Changed');
});
});
答案 3 :(得分:2)
您需要将jquery代码包装在document ready事件
中