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

在页面加载时调用jQuery函数一次,jquery,function,events,call,pageload,Jquery,Function,Events,Call,Pageload,我已经定义了一个jQuery函数,它在输入更改时运行(显示/隐藏某些div)。到目前为止还不错 我的问题:加载页面时如何调用此函数一次? 由于缺乏经验,我只是在尝试迄今为止找到的答案(将函数拖到文档就绪声明之外,等等)时把事情弄得更糟。我想函数必须保持在原来的位置,但是调用它们似乎还不起作用。剧本: jQuery(document).ready(function($) { $('input[name=project-type]').change(chooseProject);

我已经定义了一个jQuery函数,它在输入更改时运行(显示/隐藏某些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();
        }
      }

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

经过数小时的努力帮助,我真的很感激

您可以在绑定该元素后更改该元素上的事件。这将执行处理程序,就像它是由用户自然触发的一样

我想试试这样的东西:

jQuery(document).ready(function($) {
    //function declaration
    $('input[name=project-type]').on('change', chooseProject);
    $('input[name=project-type]').trigger('change');
});
您可以在绑定该元素后更改该元素上的事件。这将执行处理程序,就像它是由用户自然触发的一样

我想试试这样的东西:

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

谢谢,我正在努力,虽然还没有成功。我怀疑原因可能是在页面加载后粘贴了被记住的输入,因为在切换之前,我可以短暂地看到选择的默认选项。我猜触发器执行得太早了?不确定您是否有建议,我可以接受这一点,因为它回答了原始问题。如果在绑定
change
事件后添加了输入,则它将不起作用,因为jQuery的目标元素当时不存在(或者在页面加载时被新元素替换)。但是,您可以在替换输入后绑定事件并触发更改。输入元素存在,所选选项(值)在页面加载后不久更改。抱歉说不清楚。但是如果选择的选项是通过另一个(插件)脚本更改的,那么这不算更改事件吗?或者用户是否需要手动选择一个选项?如果以这种方式更改所选选项,则在我的经验中,它并不总是触发更改事件。在通过另一个脚本选择选项后,是否可以添加
.trigger('change')
?那应该行。谢谢,我正在努力,虽然还没有成功。我怀疑原因可能是在页面加载后粘贴了被记住的输入,因为在切换之前,我可以短暂地看到选择的默认选项。我猜触发器执行得太早了?不确定您是否有建议,我可以接受这一点,因为它回答了原始问题。如果在绑定
change
事件后添加了输入,则它将不起作用,因为jQuery的目标元素当时不存在(或者在页面加载时被新元素替换)。但是,您可以在替换输入后绑定事件并触发更改。输入元素存在,所选选项(值)在页面加载后不久更改。抱歉说不清楚。但是如果选择的选项是通过另一个(插件)脚本更改的,那么这不算更改事件吗?或者用户是否需要手动选择一个选项?如果以这种方式更改所选选项,则在我的经验中,它并不总是触发更改事件。在通过另一个脚本选择选项后,是否可以添加
.trigger('change')
?这应该行得通。