一千萬個為什麽

搜索

jQuery-Ajax:重新加載動態內容


jquery-ajax可以用動態內容重新加載div。例如,如果我有一個div,它顯示用戶在網站上更新的文檔列表,每個文檔都有一個刪除超鏈接。我希望在點擊刪除和ajax的成功函數中對servlet發出post請求我想再次重新加載文檔列表,包括可以再次能夠將數據發布到delete servet的Delete鏈接等等...

我知道如何使用jQuery-ajax並且我成功直到我的div重新加載新文檔列表(在刪除文檔之後)。但是這個由ajax加載的新列表存在問題。刪除鏈接不再起作用。

對於那些未能理解的人,請考慮這個例子。 假設我最初在UI上看到這個:

Delete       One.doc
Delete       Two.doc

現在,Delete是一個鏈接,點擊其中我對名為DeleteServlet的servlet進行POST,刪除文檔。因此,如果我單擊Delete of One.doc,它將被刪除。然後在ajax的成功中我重新加載顯示文檔列表的div。所以現在我在UI上看到了這個:

Delete       Two.doc

很好,但有效,但現在我的刪除鏈接不起作用:(

我看到了視圖源顯示的代碼,一切看起來都不錯。

以下是我的一些參考代碼:

a class="subm_it"onclick="filename='${item.path}';document.getElementById('test').submit()" href="#">Delete ..


$(function() {
     $("a.subm_it").click(function() {
     var dataString = 'filename='+ filename;
     dataString += '&&restype='+resType;
     dataString += '&&userid='+userid;
     $.ajax({
      type: "POST",
      url: "delete.do",
      data: dataString,
 success: function(data) {
$('div#editable').html(data); 
...

最佳答案

Use .live() instead of .click(): http://api.jquery.com/live/

$('.clickme').live('click', function() {
 //Live handler called.
});

轉載註明原文: jQuery-Ajax:重新加載動態內容

猜你喜歡