我是jQuery的新手,在网上找到了几种不同的方法,但对我没什么用,所以我希望有人可以帮助我。
我有选择次数。它们中的每一个都有一个带有类 "defaultSel"
的选项,以指示在触发某个事件时应将其选为默认值。
我的方法是改变选择值,但我无法让它实际触发更改(这里既没有添加.change()
也没有.trigger('change')
。)
另外,如果有办法在这里避免.each
,请告诉我。
我的jQuery:
$(this).closest('div').nextAll('div.hiddenDiv').show().find('.defaultSel').each(function(){
$(this).prop('selected', true).change();
});
非常感谢您的帮助, 麦克
答案 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()
在它上面。