[英]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
我可以在页面加载时触发我的更改吗
是的,您只需要将您的 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.