首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >.change()不起作用,因为页面已加载

.change()不起作用,因为页面已加载
EN

Stack Overflow用户
提问于 2021-03-05 08:02:36
回答 2查看 20关注 0票数 0
代码语言:javascript
运行
复制
jQuery(document).ready(function($){
  $('#location').change(function(){
    let selected_option = $(this).find(":selected").val();
     $('#locationHeading').text(selected_option)
  })
});

我希望在页面加载后立即执行该功能,而不是等待#位置的更改,这是一个<select>

原因是一旦页面加载,所选的选项就会被选中。

任何帮助都将不胜感激。

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-03-05 08:52:27

您可以使用.trigger()

代码语言:javascript
运行
复制
jQuery(document).ready(function($){
  $('#location').change(function(){
    let selected_option = $(this).find(":selected").val();
     $('#locationHeading').text(selected_option)
  }).trigger('change') // <== add this
});
代码语言:javascript
运行
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<h1 id="locationHeading"></h1>

<select id="location">
<option value="A">A</option>
<option value="B">B</option>
</select>

票数 0
EN

Stack Overflow用户

发布于 2021-03-05 08:05:29

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

代码语言:javascript
运行
复制
jQuery(function ($) {
    const loc = $('#location');
    const handler = () => {
        let selected_option = loc.find(":selected").val();
        $('#locationHeading').text(selected_option)
    };
    loc.on('change', handler);
    handler();
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66484836

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档