jQuery: select 多个选择的默认值和触发器更改

jQuery: select default value and trigger change for multiple Selects

我是 jQuery 的新手,在网上找到了几种不同的方法,但对我来说都不起作用,所以我希望有人能帮助我。

我有个选择。他们每个人都有 一个选项,带有 class "defaultSel" 以指示在触发特定事件时应将其选为默认值。

我的方法如下,它确实更改了 Selects 值,但我无法让它真正触发更改(添加 .change().trigger('change') 对我来说都不起作用)。 另外,如果有办法完全避免 .each ,也请告诉我。

我的jQuery:

$(this).closest('div').nextAll('div.hiddenDiv').show().find('.defaultSel').each(function(){
    $(this).prop('selected', true).change();
});

非常感谢您的帮助, 麦克

如果您的 option 与 defaultSel class 一致,那么这应该有效:

$(this).closest('div').nextAll('div.hiddenDiv').show().find('select:has(option.defaultSel)').each(function(){
    $(this).find('option.defaultSel').prop('selected', true).end().change();
});

这里只改变两件事:

find('select:has(option.defaultSel)')

将获得您真正想要的 select 集,并且

$(this).find('option.defaultSel').prop('selected', true).end().change();

this 这里是 select 所以你需要找到默认选项,然后 end() 会 return 你到 select 你可以在上面触发 change()