2017-01-23 56 views
0

我们必须在我们的HTML的JavaScript函数这个标签,如何调用javascript函数内的jQuery

<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

是的,可以在jQuery ready块内调用函数。既然你已经在全局范围内定义了这个函数(应该把它移到jQuery ready块中,或者如果你想把这个问题带入模块中),它可以从任何地方调用。因此,在您准备好的块中:

$(function() { 
    // do stuff 
    Choose_My_Saved_Billing(args); 
}); 
+0

我欣赏的帮助。但似乎没有任何工作。 –

0

jQuery是JavaScript。这只是一个JavaScript库。主要的jQuery全局$是一个JavaScript函数,它将一个有效的选择器作为参数,并提供了该函数返回值的几个方法。

因此,将回调函数中的JavaScript函数调用到.load不是问题。

目前尚不清楚Choose_My_Saved_Billing函数实际做了什么。

+0

对不起,男人,缺乏信息。如果它可以,我可以给你一个链接,我的问题(这个)来自哪里。 –

0

想想这里发生了什么。在您的onchange事件中,您将调用具有所选选项的索引作为参数传递的函数。由于JQuery只是您可以在JavaScript中执行的事情的快捷方式库,因此我们应该可以轻松地完成同样的任务。

因此,让我们为此我们要选择的指数的元素:

// maybe think about adding an ID here for better selection 
var select = $('select[name^="My_Saved_"]'); 

然后让我们用改变事件的索引,然后调用函数:

var index = 0; 
select.change(function(){ 
    index = select.selectedIndex || 2; // set the index to default to 2 
    Choose_My_Saved_billing(index); 
}); 
-1

由于jQuery是一个更简单和先进的JavaScript解决方案,我的猜测是你可以打电话给你这样的JS功能:

$(window).load(function(){ 
    my_js_function(arg1, arg2); 
}); 

现在,你想要的是调用带有参数arg_index

如此命名Choose_My_Saved_Billing()的JS功能,您jQuery将是这样的:

$(window).load(function(){ 
    Choose_My_Saved_Billing(arg_index); 
}); 

这只能如果功能是通过原始代码已经声明,通过<script type="text/javascript" src="path/to/my_file.js">头标签。

它应该像一个魅力,如果没有,随时分享您的浏览器返回的错误。

+0

感谢您的想法。但它没有奏效。任何想法? –

0

而不是使用onchange="..."的,只是使用jQuery附加一个变化监听器:

$(window).load(function() { 
    $('.colors_backgroundneutral select').on('change', function() { 
     Choose_My_Saved_Billing(this.value); 
    }); 
}); 
+0

感谢您的想法。但没有发生。 –