1

JQuery テーブル ソーター ページャー プラグインに問題があります。AJAX 呼び出しでページングを使用しようとしています。ほとんどの場合は問題なく動作するようですが、並べ替えが機能しません。

問題は、リクエストが行われると、常に次のようになることです (ここの例のコードを想定):

http:/mydatabase.com?page=0&size=100&{sortList:col}

最後のパラメーター{sortList:col}が実際には適切な並べ替え列に置き換えられないように。

例を正しく読んでいる場合、リクエストsortList = [[2,0],[3,0]]は実際には次のようになります。

http:/mydatabase.com?page=0&size=100&col[2]=0&col[3]=0

しかし、私の場合は決してそうではありません。また、ヘッダーをクリックするとソートは実行されますが、リクエストは行われません。

リンクされた例に欠けているものはありますか?

編集

私の問題の最初の部分は、プラグインを最新バージョンに置き換えることで解決されました。

2 番目の部分では、列をクリック (並べ替え) してもまだ要求を取得できません。ajaxProcessing 関数は、ここの例とほぼ同じですが、headers 変数の名前が変更されているだけです。

Mottie が示唆したように、AJAX 呼び出し (MS MVC JsonResult) の結果の例を投稿しています。

{
"total_rows":1,
"headers":["Id.","Date","User name","File name","status","Hash","Link"],
"rows":[
    {
        "Id":"21",
        "ReceiveDate":"02.12.2012",
        "UserName":"John Doe",
        "FileName":"test.txt",
        "Status":"",
        "Hash":"4A71FD2E12F7E04ED0C04E17476BD1BC5F823C8F",
        "FileNameLink":"\u003ca style=\"padding-left:10px\" href=\"GetFile?Id=21&fileName=test.txt\"\u003eSave\u003c/a\u003e"
    }]
}

よろしく

4

1 に答える 1

1

申し訳ありませんが、ポケットベルへの最新の変更を徹底的にテストする機会がありませんでした。コードの一部は他の人が書いたものなので、明らかな何かを見落としている可能性があります。

とにかく、これは問題を引き起こしているバグかもしれません。各ソート後にテーブルを最初のページにリセットします...次の更新で修正します。

ページャー プラグインの 460 ~ 470 行目は次のコードです。

.bind('filterEnd.pager sortEnd.pager', function() {
    //Prevent infinite event loops from occuring by setting this in all moveToPage calls and catching it here.
    if ($.data(table, 'pagerUpdateTriggered')) {
        $.data(table, 'pagerUpdateTriggered', false);
        return;
    }
    c.page = 0;
    updatePageDisplay(table, c);
    moveToPage(table, c);
    changeHeight(table, c);
})

を次のように変更するだけc.page = 0です。

if (e.type === 'filterEnd') { c.page = 0; }

に を追加efunction(e)ます。

于 2012-12-23T05:53:08.223 に答える