在页面加载时调用 jQuery 函数一次

Calling jQuery function once on page load

我定义了一个 jQuery 函数,它在输入改变时运行(showing/hiding 某些 div)。到目前为止一切顺利。

我的问题:如何在页面加载时调用此函数一次?

由于我缺乏经验,我在尝试到目前为止找到的答案时只会让情况变得更糟(将函数拖到文档就绪声明之外,等等)。我想这些功能必须留在原地,但调用它们似乎还行不通。脚本:

jQuery(document).ready(function($) {

    $('input[name=project-type]').change(chooseProject);

    function chooseProject() {
        var val = $(this).val();
        $('#div1').hide();    
        $('#div2').hide();
        $('#div3').hide();
        if (val == 'Short') {
          $('#div1').show();
        }
        else if (val == 'Long') {
          $('#div1').show();
          $('#div3').show();
        }
      }

    });

一些背景:输入是一个单选按钮,通过多步联系表单,在新的页面加载时记住所选选项,但是如果没有更改事件,该功能不会启动。

非常感谢经过几个小时的努力帮助!

您可以 trigger 绑定该元素后更改事件。这会像用户自然触发一样执行处理程序。

我会尝试这样的事情:

jQuery(document).ready(function($) {
    //function declaration
    $('input[name=project-type]').on('change', chooseProject);
    $('input[name=project-type]').trigger('change');
});