1

AJAX リクエストを使用して、JQuery を使用してテーブルに情報をロードしようとしています。コンテンツは簡単にロードできますが、ロードされたコンテンツにスタイルを適用するイベント ハンドラーを追加する際に問題が発生します。

テーブルにストライピング ウィジェットを適用しています。ただし、AJAX リクエストが戻ってきて、情報がテーブル本体に追加されると、スタイルが適用されません。

JQuery のチュートリアルでは、load イベントを使用してこれを処理することについて言及していますが、それを機能させることはできません。

どんな助けでも大歓迎です。

$(document).ready(function(){
    $("#cowTable").tablesorter();
    addTableStriping();
});

関数 addTableStriping(){
    $("#cowTable").tablesorter({
        // ストライピング
        ウィジェット: ['シマウマ']  
    });
};

$(関数(){
    $("#loadCowsButton").クリック(関数(){
        $.post("loadCows.php", "scottm", function(xml) {
            $("#cowTable tbody").append(xml);
        });
    });
});

4

5 に答える 5

2

これに対する解決策を見つけました。更新後に「applyWidgets」をトリガーする必要があります。皆さんの助けに感謝します。あなたの助けがなければ、私はこれを見つけることができなかったでしょう.

$(関数(){
    $("#loadCowsButton").クリック(関数(){
        $.post("loadCows.php", "scottm", function(xml) {
            $("#cowTable").append(xml);
            $("#cowTable").trigger("更新");
            $("#cowTable").trigger("applyWidgets")
        });
    });
});
于 2010-01-26T21:21:04.753 に答える
1

Livequery プラグインを試すことをお勧めします

Live Query は、ページが読み込まれて DOM が更新された後でも、自動的にイベントをバインドしたり、一致した要素のコールバックを起動したりすることで、jQuery セレクターの機能を利用します。

于 2010-01-23T18:42:18.520 に答える
1

なぜそれを AJAX コールバックで呼び出さないのでしょうか?

$(function(){
    $("#loadCowsButton").click(function(){
        $.post("loadCows.php", "scottm", function(xml) {
            $("#cowTable tbody").append(xml);
            addTableStriping(); // <-- here
        });
    });
});
于 2010-01-24T01:51:58.397 に答える
1

これはあなたがすべきことです:

テーブルソーターのウェブサイトで見つけました。

$( "#cowTable" ).trigger( "update" );要するに、データを追加した後に呼び出す必要があるということです。

于 2010-01-23T18:51:40.737 に答える
0

これはそれを行う必要があります..

$(function(){
    $("#loadCowsButton").click(function(){
        $.post("loadCows.php", "scottm", function(xml) {
            $("#cowTable tbody").append(xml);
            $("#cowTable").trigger( "update" );
        });
    });
});
于 2010-01-24T02:03:04.487 に答える