0

我有一个包含 2 个 div 的页面。每个 div 必须在加载时调用一个 ajax 函数。但是,在我打开其中一个 div 后,另一个 div 的 ajax 将不起作用。

*#div_remove允许用户从系统中删除用户,并通过 ajax 在 #div_remove 中的另一个 div 中显示现有用户。

#div_logs显示系统中完成的所有事务,并通过 ajax 将它们显示在另一个 div 上#div_logs。*

这是jQuery代码:

$("#remove_admin").on("click",function(){
        $("#light").fadeIn("slow");
        $("#div_remove").slideDown("slow");
        showtable();
        event.preventDefault();

        $("#btnRemove").click(function(){
            var text = $.ajax ({
                type: "GET",
                url: "delUserProcess.php?keyword="+$("#txtRemove").val()+"&table=users&field=username",
                async: false,
            }).responseText;
            alert(text);
            showtable();
            event.preventDefault();
        });

    });

    //VIEW USER LOGS
    $("#logs").on("click",function(){
        $("#light").fadeIn("slow");
        $("#div_logs").slideDown("slow");
        showLogs(); 
        event.preventDefault();
    });

    $("#txtUser").on("keyup",function(){
        showLogs(); 
        event.preventDefault();
    });

    $(".date").on("change",function(){
        showLogs(); 
        event.preventDefault();
    });

});

function showtable(){
    $.ajaxSetup ({  
    cache: false  
}); 
    $.ajax({
        type: "GET",
        url: "showAdmin.php",
        async: false,
        success:function(text){
            $("#tblUsers").html(text);
        }
    });

}

function showLogs(){
    $.ajaxSetup ({  
    cache: false  
}); 
    var cBy = $("#txtUser").val();
    var sDate = $("#startDate").val();
    var eDate = $("#endDate").val();


    $.ajax({
        type: "GET",
        url: "showLogs.php?sDate="+sDate+"&eDate="+eDate+"&createdBy="+cBy,
        async: false,
        success: function(text){
            $("#tblHistory").html(text);
        }
    });

}`

使用的原始代码.click().keyup()并且.change()..我已经尝试过使用.live().on()但它仍然无法正常工作。请帮忙。

4

1 回答 1

0

您需要在showLogs文件下绑定事件。因为每当您调用 delete 或其他事件时,它都会将 html 替换为更新的事件。并且事件很多它存在。所以你需要在showLogs文件中调用它们。

于 2013-06-17T07:03:23.227 回答