AJAX:当只使用AJAX刷新div时如何刷新JS

时间:2013-12-27 06:08:06

标签: javascript html ajax onload

我使用下面的代码只刷新html页面中的一个DIV

<script type="text/javascript">
    $('.active').live('click', function(event) {
        var elem = $(this);
        var url = $(this).attr('href');
        alert(url);
        $.ajax({
            url: url,
            success: function(result) {
                var dtr = $("#test", result);
                $('#test').html(dtr);}
        });
        event.preventDefault();
        event.stopPropagation();
    });
</script>

但它没有加载其他JS,就像我在同一个html页面中编写的下面的代码一样,并在页面加载或刷新时工作。

<script type="text/javascript" charset="utf-8">
    $(document).ready( function () {
        $('#example').dataTable( {
            "sDom": 'T<"clear">lfrtip',
            "oTableTools": {
                "sScrollY": 200,
                "sScrollX": "100%",
                "sScrollXInner": "110%",
                "sSwfPath": "../mymedia/savefiles/copy_csv_xls_pdf.swf"
            }
        } )
        .columnFilter({
            aoColumns: {{columnfilters|safe}}
        });
    } );
</script>

建议我如何在使用AJAX加载或刷新DIV时自动调用或刷新JS。

1 个答案:

答案 0 :(得分:1)

试试这个

最初你初始化了表,所以先清除那个表

$('#example').dataTable().fnDestroy();

然后在ajax成功后再次初始化

$('#example').dataTable();

喜欢这个

<script type="text/javascript"> 
$('.active').live('click', function(event) {
$('#example').dataTable().fnDestroy(); 
var elem = $(this); 
var url = $(this).attr('href'); alert(url); 
$.ajax({ 
url: url, 
success: function(result) 
{ 
var dtr = $("#test", result); 
$('#test').html(dtr);
$('#example').dataTable( {
                "sDom": 'T<"clear">lfrtip',
                "oTableTools": {
                    "sScrollY": 200,
                    "sScrollX": "100%",
                    "sScrollXInner": "110%",
                    "sSwfPath": "../mymedia/savefiles/copy_csv_xls_pdf.swf"
                }
            } )
            .columnFilter({
        aoColumns: {{columnfilters|safe}}
    });
} 
});
event.preventDefault(); 
event.stopPropagation();
}); 
</script>