2015-06-22 123 views
1

我正在使用Datatable爲具有八個相同的列和三個不同的列,基於哪個單選按鈕被按下的表。該表通過對python方法的ajax調用進行填充,並將數據附加到表體中。數據表不顯示正確的值

不同的三列按類別分隔。在此基礎上被按壓的單選按鈕,這些類要麼顯示或隱藏

function show_hide_tab(a) 
     { 
      if(a=="tab_a") 
      { 
       $(".tab_b").hide(); 
       $(".tab_a").show(); 
      } 
      else 
      { 
       $(".tab_b").hide(); 
       $(".tab_a").show(); 
      } 

     } 

我面臨的問題是這樣的:

對於tab_a,所有的值都被正確地顯示。對於tab_b,tab_b唯一的列僅具有前10個默認行的值。當我切換到頁面上超過10個條目時,列顯示爲空。同樣,如果我移動到第二頁,列是空的。奇怪的部分是,如果我在第2頁tab tab_b上,然後單擊tab_a上的第2頁然後回到tab_b,那麼我會在列中得到正確的值。 tab_b中的表格單元的一個示例:

upd += '<td class="tab_b" style="display: none;"><center><button class="btn btn-danger" onclick="initiatereturn(\'' + data[i]['orderid'] + '&' + data[i]['memberid'] + '&' + data[i]['amount'] + '\');">Return</button></center></td>'; 

其中數據保存從數據庫中提取的值。

+0

可能需要一個jsfiddle來找出問題。發起返回功能有什麼作用? –

+0

也許問題是,當datatable應用於表時,只有前10行存在。在加載'下一頁'時需要重新應用表格的任何操作 – Michael

+0

@Michael:不,整個結果集的HTML都附加到表格中。然後數據表被初始化 – randomnessrandomly

回答

0

您可以嘗試執行drawCallback函數,每次表刷新時都會調用該函數。

jQuery('#'+table_id).dataTable({ 
    "drawCallback": function(settings) { 
    // check the selected radio buttons and show/hide the columns 
    } 
}); 
+0

同樣的問題依然存在。 tab_b中的數據僅在我訪問tab_a中的相應頁面時纔會填充 – randomnessrandomly

+0

您可以共享任何jsfiddle嗎?我會直接看到問題。 – Karthik