我复制了相同的示例表单jquery网站,以在jQuery中实现change()
的功能。如果<script>..</script>
被剪切并粘贴在头部,那么在更改选择值时根本不会调用该函数。有什么理由我应该在下面选择这个片段吗? This是我将<script>
部分放在标题中的小提琴。默认代码为this one。
答案 0 :(得分: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>
答案 1 :(得分:1)
尝试使用:
围绕该功能(仍然在头部)$(document).ready(function(){
//Your code here
});
答案 2 :(得分:1)
如果您将脚本放在head块中,那么页面可能在执行之前没有完成加载。 jquery有一个处理这个的机制,即在文档准备好时运行脚本。这样做如下:
$(document).ready(function(){
$('.target').change(function() { alert('Handler for .change() called.');});
});
文档完全加载后,将调用ready函数中的所有代码。几乎所有的jquery代码都以这种方式调用。