2017-12-04 11 views
1

私は動的にテーブルを持っていますが、テーブルソーターポケベルはうまくいきますが、いくつかのカラムをフィルタリングしようとすると、ページ0に戻ります。どこかで私はthと他の奇妙なことをクリックしてソートしようとすると、私はテーブルソーターで入力ボックスのデバッグモードを入力すると言うが大丈夫です。テーブルソーターの並べ替えとフィルタリングが機能しませんでした

 var $table = $(".track-grid table.tablesorter"); 
     var pagesize = $('.pagesize').val(); 
     $table.tablesorter({ 
      widthFixed: true, 
      cssChildRow: 'infoRow', 
      widgets: ['filter'], 
      debug: true, 
      widgetOptions: { 

       filter_hideFilters: true, 
       // filter_anyMatch replaced! Instead use the filter_external option 
       // Set to use a jQuery selector (or jQuery object) pointing to the 
       // external filter (column specific or any match) 
       filter_external: '.search', 
       // add a default type search to the first name column 
       //filter_defaultFilter: { 1: '~{query}' }, 
       // include column filters 
       filter_ignoreCase:false 

      } 

     }); 

     $table.on('filterInit', function() { 
      $table.tablesorterPager({ 
       container: $(".pager"), 
       ajaxUrl: `track/getEvents?page={page}&size={size}&totalCount=` + totalCount, 

       customAjaxUrl: function (table, url) { 
        return url; 
       }, 
       ajaxProcessing: function (data) { 

        $('.tablesorter tbody').html(data.result.eventsHtml); 

        $('#trackOverlay').hide(); 
        return [parseInt(data.result.totalEventsCount)]; 
       }, 
       page: 0, 
       processAjaxOnInit: true, 
       output: '{startRow} - {endRow}/{filteredRows} ({totalRows})', 
       updateArrows: true, 
       fixedHeight: false, 
       removeRows: false, 
       savePages: false, 
       cssNext: '.next', // next page arrow 
       cssPrev: '.prev', // previous page arrow 
       cssFirst: '.first', // go to first page arrow 
       cssLast: '.last', // go to last page arrow 
       cssGoto: '.gotoPage', // page select dropdown - select dropdown that set the "page" option 

       cssPageDisplay: '.pagedisplay', // location of where the "output" is displayed 
       cssPageSize: '.pagesize', // page size selector - select dropdown that sets the "size" option 
       cssDisabled: 'disabled', // Note there is no period "." in front of this class name 
       cssErrorRow: 'tablesorter-errorRow' // error information row 

      }); 
     }); 

答えて

0

ajaxUrlオプションにフィルタ値を含める必要があります。あなたはdocumentationの例を見れば、あなたはこれを参照してくださいよ:

ajaxUrl: "http://mydatabase.com?page={page}&size={size}&{sortList:col}&{filterList:fcol}", 

{filterList:fcol}は、サーバ要求にフィルタを追加します。

組み込みの実装が機能しない場合は、customAjaxUrl callbackを使用してajaxのURLを変更してください。

+0

ありがとう私はそれを昨日見つけて、うまく動作しますが、今私はそれを並べ替える方法を知っている列を並べ替えることに問題がありますが、私は列がクリックされたことを知らない。私は私のテーブル上のすべての列をクリックしたときに、私はのdiff列を得るためにHTMLを取得しようとしますが、カスタムAjaxUrl:URLを返す前に私はいくつかのアドバイスを与えることができますか? –

+0

また、 'ajaxUrl'内に' {sortList:col} 'があり、カラムとソート方向のリストをサーバに渡します。 – Mottie

関連する問題