2013-01-07 54 views
1

如何在使用jQuery加載某個文件的某個部分後,在文件的頭文件中執行JavaScript使用此代碼加載頁面的某個部分$("#code_block").load('newexpenses.php #deposit_table'); ..例如下面是加載的代碼的一部分。如何在使用AJAX加載頁面的一部分後執行JavaScript

<table id=""><td><span class="f3">Cheque No</span></td> 
    <td><input type="text" name="ch_no" id="ch_no" value=""></td> 
</tr><tr> 
    <td></td> 
    <td><input type="submit" name="save_expenses" id="save_expenses" value="Save Expenses"></td> 

文件newexpenses.php有一些JavaScript和jQuery在其頭部被點擊提交按鈕時應該執行。如下面

var urldata = 'r='+rno+'&d='+desc+'&a='+amt+'&e='+exp_type+'&p='+paymode+'&c='+ch_no+'&save=1'; 
      //alert(urldata); 

      $.ajax({ 
       type : "GET", 
       data : urldata, 
       url:"save.php", 
       cache: false, 
       success:function(result2){ 
        $(".div1").html(result2); 
       } // ends success function 
      }); // ends ajax call 

但是HTML的一部分後,已經加載到頁面...提交按鈕會不會工作。

請建議的正確方法

+0

@ user1862764不完全理解你的問題,你是否試圖綁定一個onclick監聽器使用AJAX加載的SUBMIT按鈕?這是你的要求嗎? –

+0

AJAX完成後需要運行的JavaScript是什麼?有幾種方法,根據你想要運行的代碼,有些方法比其他方法更好。 – Blazemonger

+0

如果您想運行一次外部JavaScript文件,請使用['.getScript()'](http://api.jquery.com/jQuery.getScript/)。如果您還需要在其他時間運行代碼,請將其包裝在函數中並調用它。根據您是否有任何事件處理程序,可能需要也可能不需要委派事件處理程序。 – Blazemonger

回答

1

如果#save_expenses是異步加載的,我相信你想委託你綁定的事件。例如,你可以有:

$("#save_expenses").on('click' ... 

然而,由於#save_expenses不存在時,這注定,你需要委派它:

$("#code_block").on('click', '#save_expenses', function() { ... 
+0

是的,我認爲這是OP的要求。 –

0

你可以添加JavaScript你的HTML中,它會被執行:

<table id=""> 
    <tr> 
    <td><span class="f3">Cheque No</span></td> 
    <td><input type="text" name="ch_no" id="ch_no" value=""></td> 
    </tr> 
    <tr> 
    <td></td> 
    <td><input type="submit" name="save_expenses" id="save_expenses" value="Save Expenses"> 
    </td> 
    </tr> 
</table> 

<script type="text/javascript"> 
    $('#save_expenses').click(function(){ 
    var urldata = 'r='+rno+'&d='+desc+'&a='+amt+'&e='+exp_type+'&p='+paymode+'&c='+ch_no+'&save=1'; 
     //alert(urldata); 

     $.ajax({ 
      type : "GET", 
      data : urldata, 
      url:"save.php", 
      cache: false, 
      success:function(result2){ 
       $(".div1").html(result2); 
      } // ends success function 
     }); // ends ajax call 
    }); 
</script> <!-- OR --> <script src="yourfile.js"></script>  

,或者你應該使用事件代表團(這是做正確的方式),因此它不會被加載代碼事的時候:

$(document).on('submit', '#save_expenses', function(){ 
    // will work forever 
    var urldata = 'r='+rno+'&d='+desc+'&a='+amt+'&e='+exp_type+'&p='+paymode+'&c='+ch_no+'&save=1'; 
     //alert(urldata); 

     $.ajax({ 
      type : "GET", 
      data : urldata, 
      url:"save.php", 
      cache: false, 
      success:function(result2){ 
       $(".div1").html(result2); 
      } // ends success function 
     }); // ends ajax call 
}); 
+0

這個腳本可以幫助我解決問題 – user1862764

0

非常感謝您快速作出迴應, 我可以不要在這裏發佈我的所有代碼供您參考..

我想要做的是創建一個動態選擇菜單,自動填充存儲在數據庫表中的選項。這就是爲什麼我試圖使用負載來重新加載頁面,以便它包含菜單。

步驟1 image 1

第2步

步驟3 image 3

我感謝大家的努力。 im感謝

相關問題