1
現在、Datatables(https://datatables.net)を使用してテーブルを作成しています。NodejsでDatableを使用するsocket.io
表のデータは、サーバーからsocket.ioを通じて取得されます。
私の問題は、socket.ioがデータを追加したときに、テーブルが「更新」されていないと、エントリが1つしかないと表示され、検索ボックスが最後に追加された要素に対してのみ機能しているということです。ここで
は、私のコードのサンプルです:
socket.on('jobStepsResponse', function(message) {
document.getElementById('listOfJobs').style.display = 'none';
document.getElementById('contentJob').style.display = 'block';
document.getElementById('jobid').innerHTML = "<button onClick=returnToJobList()>Retour</button> Job "+message.idJob;
for(var i=0;i<Object.keys(message.status).length;i++){
document.getElementById('tabstats').innerHTML += '<tr><td>'+Object.keys(message.status)[i]+'</td>'+'<td>'+ts2time(message.status[Object.keys(message.status)[i]])+'</td>'+'</tr>';
}
$(document).ready(function() {$('#example2').DataTable();});
setInterval(function() { $('#example2').DataTable().ajax.reload(null, false); }, 1000);
});
あなたが見ることができるように、私はAjaxのリロードを使用してみましたが、私はそのAjaxのデータソースのためだと思うので、それは動作しません。
なぜ$(document).readyをjobsteps ..イベント – uzaif
に追加したのですが、もともとdatatableスタイルをソケットに読み込みますが、$ document.readyなので、そこには役に立ちません – user3895503