Javascript 如何使用参数onload或在dom就绪后调用函数?

Javascript 如何使用参数onload或在dom就绪后调用函数?,javascript,jquery,dom,selecteditem,selectedvalue,Javascript,Jquery,Dom,Selecteditem,Selectedvalue,我有下面的函数,它接受一个选定的值并在单击时运行它。我还是会这样的。但是,客户端希望有一个默认的选定值,该值应该运行该函数,并且该函数会在页面上进行更改 那么,我应该如何通过获取预先选择的值来运行这个函数,并在dom就绪后运行它,而不单击任何东西呢 var value = $("#market-select option:selected").text(); // this takes value of pre-selected item vizFilter1(value); // and I

我有下面的函数,它接受一个选定的值并在单击时运行它。我还是会这样的。但是,客户端希望有一个默认的选定值,该值应该运行该函数,并且该函数会在页面上进行更改

那么,我应该如何通过获取预先选择的值来运行这个函数,并在dom就绪后运行它,而不单击任何东西呢

var value = $("#market-select option:selected").text(); // this takes value of pre-selected item
vizFilter1(value); // and I want to call this function after dom is ready or onload after passing values. 
我试过这样做,但没有任何效果

$(document).ready(function (){

function run (){
var value = $("#market-select option:selected").text();
vizFilter1(value);

}

}); 

如何在页面加载后运行此操作,而无需用户执行任何操作

如果您希望能够从多个位置运行这两行代码,例如,从click处理程序和DOM ready上运行这两行代码,请按照所做的那样将它们包装到函数中,然后从DOM ready处理程序调用该函数。或者简单地将函数绑定为就绪处理程序:

function run (){
  var value = $("#market-select option:selected").text();
  vizFilter1(value);
}

$(document).ready(function (){
  run();
  // do other on ready things here if required
});

// OR, if you don't need to do other things:
$(document).ready(run);

在您演示的尝试中,您声明了一个run函数,但从未调用过它。尽管可以在ready处理程序中定义函数,只要调用它就可以了,但这可能更可取,因为它将函数保留在全局范围之外。

它仍然不起作用。我可以在控制台中调用vizFilter1,没有问题,但document ready不再工作!你认为这是为什么?我不知道。既然你提到了控制台,我想你已经检查过没有错误消息被记录了?没有。它不起作用了!函数运行{var value=$market选择选项:selected.text;VizGlobalvalue;}$document.readyfunction{run;alertvalue$document.readyrun;};你是说警报不显示吗?控制台中没有错误吗?请注意,在我的回答中,我展示了两种不同的方法来使用document ready处理程序-您想要一种或另一种,而不是两种。似乎vizFilter函数中的任何内容都会导致问题,因为它在加载所有内容后加载。不知道这是否解释了什么。若我在documentready内调用vizFilter,则vizFilter参数不再工作。