繁体   English   中英

如何在页面加载 jquery 时将更改设置为默认值?

[英]How to set on change as a default on page load jquery?

我为我的项目的 select 盒子创建了一个更改方法。 在选择特定选项时,它基本上是显示和隐藏一个运行良好的 div。 现在,我的问题是当第一次页面加载这个节目时,隐藏对表单的第一个默认部分不起作用。 我可以让这个 onchange 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');
    }
});

给你go一个解决办法

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

您需要将代码移到更改事件之外,因此我将您现有的代码保留在方法changeMethod中。

然后调用方法 from to places

  1. 从你改变事件方法
  2. JS文件的OnLoad

我可以在页面加载时触发我的更改吗

是的,您只需要将您的 on change 事件从e.currentTarget更改this ,因为在页面加载e.currentTarget将为 null, this始终指向当前元素,例如:

$('.contact-form').on('change', function() {
  var selectedId = $(this).val();
  // Your other logic here
});

并在页面加载时触发此更改事件,只需添加.change()最后,如下所示:

$('.contact-form').on('change', function() {
  var selectedId = $(this).val();
  // Your other logic here
}).change();   //<---- here

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM