2017-09-29 1 views
0

私はjQuery .append()でいっぱいのテーブルを持って、その後私はdatatableのように宣言します。テーブルを埋めるAJAX呼び出しではありませんので、私はtbodytheadクリアする.empty()を使用し、問題はここに来る:私はデータテーブルを空にすると私は2つのtheadを得る

tbodyはクリアされ、新しい件のデータに置き換えられますが theadは(とdataTables_scrollHeadにダブルでてきた

新しい情報、古い情報のあるdataTables_scrollBodyのテーブルのtheadとしての1つ)。ページのサイズを変更するか、コンソールを開くと、dataTables_scrollBody内の1つが消えます。この後、テーブルはちょうど1つのtheadで正常に戻りますが、このアクションを変更せずに繰り返すたびに、もう1つのtheadがdataTables_scrollBodyのテーブル内に追加されます。

ここに私のコード:

$("#table tbody").empty(); 
$("#table thead").empty(); 
dataTableTest = $("#table"); 

var h="<tr>"; 
for(var i=0;i<data.info.length;i++)     
    h+="<th style='cursor:pointer;'>"+hello+"</th>"; 
dataTableTest.find("thead").append(h+"</tr>"); 

h=""; 
for(var i=0;i<data.list.length;i++) { 
    h+="<tr>"; 
    for(var j=0;j<data.list[i].length;j++) 
     h+="<td>"+data.list[i][j]+"</td>"; 
    h+="</tr>" 
} 
dataTableTest.find("tbody").append(h); 

dataTableTest.DataTable({ 
         "scrollY": "367px", 
         "scrollX": true, 
         "bSort": false, 
         "orderMulti": false, 
         "searching": false, 
         "paging": false, 
         "bInfo": false, 
         "language": { 
          "emptyTable": NORECORD 
          } 
        }); 

答えて

0

あなたは指定されたコンテナの内容を追加した、追加使用しています。

dataTableTest.find("thead").append(h+"</tr>"); 

追加する代わりに、.replaceWith()を使用して新しいタグに置き換えることができます。

$("#table thead").replaceWith(h+"</tr>"); 
+0

あなたの提案はうまくいかないが、私は同じ結果を得た – Storm

関連する問題