我有一个选择列表(#select2),每次更改另一个选择列表(#select1)时,其选项都会更改。

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.
});

09-18 22:48