2017-01-23 54 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

感謝您的想法。但沒有發生。 –