jQuery:为多个Selects选择默认值并触发更改

时间:2015-05-29 14:56:14

标签: javascript jquery select triggers

我是jQuery的新手,在网上找到了几种不同的方法,但对我没什么用,所以我希望有人可以帮助我。

我有选择次数。它们中的每一个都有一个带有类 "defaultSel"的选项,以指示在触发某个事件时应将其选为默认值。

我的方法是改变选择值,但我无法让它实际触发更改(这里既没有添加.change()也没有.trigger('change')。) 另外,如果有办法在这里避免.each,请告诉我。

我的jQuery:

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

非常感谢您的帮助, 麦克

1 个答案:

答案 0 :(得分:2)

如果您的option是defaultSel类,那么这应该有效:

$(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()会返回select,您可以触发change()在它上面。