0

DataTablesの実装に問題があります。単純に、PHP スクリプトから返されたテーブルで機能させることができません。simple_table.php という名前の単純な 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>、それぞれを埋めることができるのはyhenだけ<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 に答える