2015-06-22 120 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