2017-05-08 49 views
0

當我用class數據庫頭部單擊一個th後,我的表通過post方法被排序,但由於某種原因,click事件監聽器被刪除,所以當我再次點擊不同的數據庫頭,沒有任何反應。我做錯了什麼?事件監聽器在post方法中被刪除

$(function() { 
    var user = $('#user'); 
    var databaseHeader = $('.database-header'); 
    var tableContainer = $('.table-container'); 
    var databaseHeaderValue; 
    var url = './php/table.php'; 

    databaseHeader.click(function() { 
/* Checks for the user login div */ 
     if (user.closest('html').length){ 
      databaseHeaderValue = $(this).html(); 
      $.post(url, {'sort' : databaseHeaderValue}, function (data) { 
       tableContainer.html(data); 
      }); 
     } 
    }); 
}); 
+0

'$(文件)。在( '點擊',databaseHeader,函數(){})' –

回答

0

您是否只刷新頁面的一部分?動態添加DOM元素後,您無法使用jquery選擇器來抓取它。

嘗試

$(body).on("click", ".database-header",function(){ 
etc.. 
} 
1

試着改變你的jQuery click象下面這樣:

var user = $('#user'); 
var databaseHeader = '.database-header'; 
var tableContainer = $('.table-container'); 
var databaseHeaderValue; 
var url = './php/table.php'; 

$(document).on('click', databaseHeader, function() { 
    /* Checks for the user login div */ 
    if (user.closest('html').length){ 
     databaseHeaderValue = $(this).html(); 
     $.post(url, {'sort' : databaseHeaderValue}, function (data) { 
      tableContainer.html(data); 
     }); 
    } 
}); 
+0

工程像一個魅力:D,非常感謝! – Mahir

+0

謝謝您,您可以將此答案標記爲有用,以便它可以幫助其他人:) –

+0

難以置信的聲譽,只是註冊xD – Mahir