2017-05-08 137 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