3

我已经复制了相同的示例表单jquery网站来实现change()jQuery 中的功能。如果<script>..</script>剪切并粘贴在头部,则在更改选择值时根本不会调用该函数。有什么理由我应该在选择下面写这个片段吗?是我将<script>零件放在标题中的小提琴。默认代码是这个

4

3 回答 3

2

我怀疑你的问题是你的 DOM 还没有准备好。在 jQuery 中使用 DOM 时,应该绑定document元素的ready()函数,如下所示:

$(document).ready(function() {  
    // execute your code here.
});

或者,您可以使用快捷功能,如下所示:

$(function() {  

});

对于您的示例,如下更新您的代码head应该有效:

<script type="text/javascript">
$(function() { 
    $('#select_id').change(function() {  
        // handle the change event
    });
});
</script>
于 2013-03-12T09:27:37.653 回答
1

尝试使用以下方法围绕该功能(仍在头脑中):

$(document).ready(function(){

   //Your code here

});
于 2013-03-12T09:24:21.813 回答
1

如果将脚本放在 head 块中,则页面在执行之前可能尚未完成加载。jquery 有一个机制来处理这个问题,即在文档准备好时运行脚本。这是按如下方式完成的:

$(document).ready(function(){

   $('.target').change(function() {  alert('Handler for .change() called.');});

});

文档完全加载后,将调用 ready 函数中的任何代码。几乎我所有的 jquery 代码都以这种方式调用。

于 2013-03-12T09:27:11.753 回答