0

我在执行DataTables时遇到问题,我无法让它在 PHP 脚本返回的表中工作。假设这个简单的 PHP 脚本名为 simple_table.php:

<?php
    echo '
    <table class="table_type">
        <thead>
            <tr>
                <th>Column 1</th>
                <th>Column 2</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>Row 1 Data 1</td>
                <td>Row 1 Data 2</td>
            </tr>
            <tr>
                <td>Row 2 Data 1</td>
                <td>Row 2 Data 2</td>
            </tr>
        </tbody>
    </table>';
?>

现在我还在</body>hipotetic html 文件中的标记之后声明了下一个非常简单的 jQuery 脚本:

$(document).ready( function () {
    $('table.table_type').dataTable();
} );

$('div.push_button li').click(function() {
    var content = $(this).closest('div').children('div.content');
    $.get('simple_table.php', {}, function(html_table) {
            content.html(html_table);
    } );
} );

需要做什么才能让这个简单的示例工作并保持简单?问题是,这么简单的脚本制作的动态表格这个有用的场景没有解决方案!

好吧,也许你必须有一个预先存在的<table>,只有你才能填满各自的<tr>......

4

1 回答 1

1

问题是因为您.dataTable()在页面有元素之前运行table.table_type。无需在页面加载时调用.dataTable(),您需要在表格添加到您的<div>.

$('div.push_button li').click(function() {
    var content = $(this).closest('div').children('div.content');
    $.get('simple_table.php', {}, function(html_table) {
            content.html(html_table);
            content.find('table').dataTable();
    } );
} );
于 2012-07-29T04:51:55.870 回答