我们的HTML中有一个带有javascript函数的标记,
<select name="My_Saved_Billing" onchange="Choose_My_Saved_Billing(this.selectedIndex)" >
<option>Select</option>
<option value="1714">Address line 1, QC</option>
</select>
<script type="text/javascript">
function Choose_My_Saved_Billing(arg_index) {
switch(arg_index) {
// some commands here
}
}
</script>
我还在其中添加了一个jQuery,以便在Windows加载时,它会自动选择第二个选项。
<script type="text/javascript">
$(window).load(function(){
$("select").val($("select option:eq(1)").val());
});
</script>
但是可以使用jQuery调用javascript函数吗?如果是这样,我应该怎么称呼它?
我应该使用Choose_My_Saved_Billing(this.selectedIndex)
还是Choose_My_Saved_Billing(arg_index)
,否则您可能会知道某些事情。我试过这两个,但都没有。请告诉我。这里只是一个初学者。
答案 0 :(得分:0)
是的,可以在jQuery ready块中调用函数。既然你已经在全局范围内定义了这个函数(应该把它移到jQuery ready块中,或者如果你想把它转移到模块中),可以从任何地方调用它。所以在准备好的区块内:
$(function () {
// do stuff
Choose_My_Saved_Billing(args);
});
答案 1 :(得分:0)
jQuery是JavaScript。它只是一个JavaScript库。主要的jQuery全局$
是一个JavaScript函数,它将一个有效的选择器作为参数,并提供有关该函数返回值的几种方法。
因此,将回调函数中的JavaScript函数调用到.load
不是问题。
目前尚不清楚Choose_My_Saved_Billing
函数实际上做了什么。
答案 2 :(得分:0)
想想这里发生了什么。在onchange事件中,您将调用函数,并将所选选项的索引作为参数传递。由于JQuery只是一个可以用JavaScript做的事情的快捷方式库,我们应该能够轻松地做同样的事情。
因此,让我们得到我们想要所选索引的元素:
// maybe think about adding an ID here for better selection
var select = $('select[name^="My_Saved_"]');
然后让我们使用change事件获取索引,然后调用函数:
var index = 0;
select.change(function(){
index = select.selectedIndex || 2; // set the index to default to 2
Choose_My_Saved_billing(index);
});
答案 3 :(得分:0)
不使用onchange="..."
,只需使用jQuery附加更改侦听器:
$(window).load(function() {
$('.colors_backgroundneutral select').on('change', function () {
Choose_My_Saved_Billing(this.value);
});
});
答案 4 :(得分:0)
从JQuery文件中调用JavaScript函数的方式与从JavaScript文件中调用JavaScript函数的方式相同:)之所以这样,是因为JQuery是基于JavaScript的库。假设您要在窗口加载时从JavaScript文件调用函数foo
。
jQuery:
$(window).on('load', function() {
foo();
});
和JavaScript:
function foo() {
alert('This works!');
}
我希望这会有所帮助!
答案 5 :(得分:0)
$(document).ready(function() {
$("#Submit1").click(function() {
$("#id1").hide();
Raise1();
});
$("#Raise").click(function() {
$("#id1").show();
});
});
function Raise1() {
var value1;
alert("hi");
value1 = document.getElementById("amount").value;
alert(value1);
alert("done");
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.0.1/angular.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.1/jquery.min.js"></script>
答案 6 :(得分:-1)
由于jQuery是一个更简单和高级的JavaScript解决方案,我的猜测是你可以这样称呼JS函数:
$(window).load(function(){
my_js_function(arg1, arg2);
});
现在,你想要的是用参数Choose_My_Saved_Billing()
arg_index
的JS函数
所以,你的jQuery看起来像这样:
$(window).load(function(){
Choose_My_Saved_Billing(arg_index);
});
仅当函数已通过原始代码通过<script type="text/javascript" src="path/to/my_file.js">
头标记声明时才有效。
它应该像魅力一样工作,如果没有,请随时分享浏览器返回的错误。