首页 > 解决方案 > .change() 不起作用,因为页面已经加载

问题描述

jQuery(document).ready(function($){
  $('#location').change(function(){
    let selected_option = $(this).find(":selected").val();
     $('#locationHeading').text(selected_option)
  })
});

而不是等待 #location 的更改,这是<select>我想在页面加载后立即执行该功能。

一旦页面加载,选择选项的原因就已经被选中。

任何帮助,将不胜感激。

谢谢

标签: javascriptjquery

解决方案


将更改处理程序放在一个单独的函数中,并在添加侦听器的同时调用它:

jQuery(function ($) {
    const loc = $('#location');
    const handler = () => {
        let selected_option = loc.find(":selected").val();
        $('#locationHeading').text(selected_option)
    };
    loc.on('change', handler);
    handler();
});

推荐阅读