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

Javascript 如何在页面加载jquery中将更改设置为默认值?,javascript,jquery,html,Javascript,Jquery,Html,我已经为我的项目的一个选择框创建了一个on change方法。在选择特定的选项时,它基本上是显示和隐藏一个div,这个div工作得非常好。现在,我的问题是当第一次页面加载此显示和隐藏时,表单的第一个默认部分不工作。我可以让这个onchange函数在第一次加载页面时也工作吗 $('.contact-form').on('change', (e) => { var selectedId = $(e.currentTarget).val(); var listofforms =

我已经为我的项目的一个选择框创建了一个on change方法。在选择特定的选项时,它基本上是显示和隐藏一个div,这个div工作得非常好。现在,我的问题是当第一次页面加载此显示和隐藏时,表单的第一个默认部分不工作。我可以让这个onchange函数在第一次加载页面时也工作吗

$('.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');
    }
});

给你一个解决方案

函数更改方法SelectedId{ var listofforms=$discount.datadisplay for.split,; 如果listofforms.indexOfselectedId!=-1{ 美元折扣。折叠“显示”; } 否则{ 美元折扣。折叠“隐藏”; } } changeMethod$'.contact form'.val $'。联系方式'。关于“更改”,e=>{ changeMethod$e.currentTarget.val; }; 我可以在页面加载时触发我的更改吗

是的,您只需要将on change事件从e.currentTarget更改为此,因为on page load e.currentTarget将为null,但这始终指向当前元素,如:

$('.contact-form').on('change', function() {
  var selectedId = $(this).val();
  // Your other logic here
});
要在页面加载时触发此更改事件,只需添加。最后更改如下:

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

但是页面加载时$e.currentTarget.val将始终为空,在这种情况下会发生什么?它不是空的。它由MVC对象填充。另外,页面上是否有多个class.contact form元素,还是只有一个?@Html.DropDownListmyFormID,Model.discountlist,new{@class=$form control contact form}我正在使用上面的方法在changeMethod的Selectnice中的SelectValues选项中输入