You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让jQuery下拉框的change事件在页面加载时默认触发?

解决页面加载时下拉框默认选项不触发显示隐藏的问题

当然可以搞定这个问题啦!你遇到的情况很常见——change事件只有用户主动切换选项时才会触发,但页面初始化时默认选项已经存在,这时候逻辑没机会跑。咱们只需要在页面加载完成后,手动触发一次下拉框的change事件,就能让默认选项对应的显示隐藏逻辑生效了。

修改后的代码示例

你可以直接在绑定完change事件后,链式调用.trigger('change'),这样代码更简洁:

$('.contact-form').on('change', (e) => { 
  var selectedId = $(e.currentTarget).val(); 
  var listofforms = $("#discount").data("display-for").split(","); 
  if (listofforms.indexOf(selectedId) !== -1) { 
    $("#discount").collapse('show'); 
  } else { 
    $("#discount").collapse('hide'); 
  } 
}).trigger('change'); // 绑定事件后立即触发一次

如果担心DOM还没完全加载就执行代码,也可以把逻辑放在$(document).ready()里,确保元素都渲染完成后再绑定事件并触发:

$(document).ready(function() {
  $('.contact-form').on('change', (e) => { 
    var selectedId = $(e.currentTarget).val(); 
    var listofforms = $("#discount").data("display-for").split(","); 
    if (listofforms.indexOf(selectedId) !== -1) { 
      $("#discount").collapse('show'); 
    } else { 
      $("#discount").collapse('hide'); 
    } 
  }).trigger('change');
});

原理说明

.trigger('change')相当于模拟了用户手动选择下拉框选项的动作,会触发你绑定的change事件处理函数,这样就能根据默认选中的值自动执行显示或隐藏#discount的逻辑了。

内容的提问来源于stack exchange,提问作者Himanshu Joshi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 11:12:27