2013-04-24 92 views
4

我有一個頁面(orderhistory),我們有一個「email」按鈕,當它被選中時,執行ajax請求並將ajax頁面(emailform)加載到之前的「display:none」 DIV。我希望能夠將一個函數綁定到這個ajax頁面上的某些東西上。在AJAX頁面中加載函數

我意識到我可以通過在ajax請求成功時綁定函數來完成orderhistory頁面的工作。但是,這個相同的ajax頁面遍佈在我們的網站上,所以如果我只是將該函數添加到ajax頁面中,並且不必在每個調用ajax頁面的主機頁面上編輯每個函數,它都會節省大量時間。

我遇到的問題是沒有事件觸發該功能。我無法使用$(document).ready,因爲ajax頁面正在加載到已準備好的文檔中的div上。

我錯過了什麼嗎?有沒有簡單的方法來做到這一點?希望我很清楚。

在此先感謝。

<script> 
$(function(){ 
    alert('loaded') 
    $('#EmailFrm_Sender').select2(); 
}) 
</script> 

這是調用函數。如果我取消了select2函數,它將在ajax頁面上工作。如果我將相同的函數直接放在ajax頁面中,它將不會加載。

$(".SOEmailLink").click(function(){ 
    $.get('/SAM/AJAX/BalloonEmailForm.asp', {FormKey:$(this).attr('Formkey'), FormName:('SalesOrder')}, function(data){ 
    hr_CenterBalloon(data);/* 
    $('#EmailFrm_Sender').select2();*/ 
    }) 
}); 

這是簡單的代碼。正如我在評論中指出的那樣,如果我自己運行這個頁面(通過適當的插件鏈接和jquery文件),函數綁定並觸發警報。

+0

您是否知道要將事件綁定到AJAX加載頁面的元素? – tymeJV 2013-04-24 13:33:53

+0

您可以在電子郵件表單中以'

0

你emailform文件:

<script> 
    $(function() { 
     alert('LOADED!!!'); 
    }); 
</script> 
<div> 
<!-- form --> 
</div> 
0

如果你使用jQuery,該$.ajax功能有你可以用它來調用一個這樣的功能的成功回調。