我有一个选择列表(#select2),每次更改另一个选择列表(#select1)时,其选项都会更改. select2的选项始终取决于#select1的值,并且每次更改#select1时都会更改. 是否有一个函数可以绑定到#select2元素
select2的选项始终取决于#select1的值,并且每次更改#select1时都会更改.
是否有一个函数可以绑定到#select2元素,它将在选项列表更改完成后触发(每次受#select1影响)?
我似乎无法向select1元素添加一个onchange处理程序来执行我想要的操作,因为它在select2的选项列表完成之前会触发.
您可以使用trigger()和bind()方法来引发和侦听自定义事件:试试这个:
$("#select1").change(function() { // update options in #select2 $("#select2").trigger("updatecomplete"); }); $("#select2").bind("updatecomplete", function() { // this will fire when #select1 change event has finished updating the options. });
有关trigger()的更多信息
更新的答案 – 2016年9月
请注意,现在不推荐使用bind().您应该使用on()代替:
$("#select2").on("updatecomplete", function() { // this will fire when #select1 change event has finished updating the options. });