HTML JQuery .change无法正常工作
好吧,我不明白为什么这不起作用。 看起来很简单。
这是我的下拉菜单:
这是JavaScript
$("#yearDropdown").change(function () { alert('The option with value ' + $(this).val()); });
现在我只是想让它工作,所以我可以添加function。 谢谢!
该代码在语法上是正确的。 最有可能在错误的时间运行它。
您希望在DOM准备好时绑定事件:
$(function(){ /* DOM ready */ $("#yearDropdown").change(function() { alert('The option with value ' + $(this).val()); }); });
或者,使用live
:
$("#yearDropdown").live('change', function() { alert('The option with value ' + $(this).val()); });
或者,使用delegate
:
$(document.body).delegate('#yearDropdown', 'change', function() { alert('The option with value ' + $(this).val()); });
或者,如果您使用的是jQuery 1.7+
:
$("#yearDropdown").on('change', function() { alert('The option with value ' + $(this).val()); });
尽管如此,通常最好在浏览器完成渲染标记后执行脚本。
我在jsFiffle中尝试过你的代码。 我手动添加了几年作为选项。 它工作正常。
只需绑定$(document).ready中的.change事件:
$(document).ready(function(){ $("#yearDropdown").change(function () { alert('The option with value ' + $(this).val()); }); });
你的代码是正确的,并为我工作,请看这里: http : //jsfiddle.net/mobweb/2Skp9/
你确定jQuery已正确加载吗?
不确定这是否有帮助,但你可以试试这个:
$("#yearDropdown").live("change", function () { alert('The option with value ' + $(this).val()); });