2016-04-01 19 views
1

Şu anda tablolar oluşturmak için Datatables'i (https://datatables.net) kullanmaya başladım.Nodejs socket.io ile birlikte Datable Kullan

Tablodaki veriler sunucudan socket.io aracılığıyla elde edilir.

Sorunum, socket.io veri eklediğinde, tablonun "güncellenmiş" olmadığı, yalnızca 1 girişinin olduğunu ve arama kutusunun yalnızca son eklenen öğe üzerinde çalıştığını söylüyor. İşte

benim kod bir örnektir:

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); 
     }); 

Gördüğünüz gibi, ben ajax yeniden yükle kullanarak çalıştı ama ajax veri kaynakları için düşünüyorum, bu yüzden çalışmıyor.

+0

niçin $ (document) .se işte eklediyseler .. event – uzaif

+0

orijinal olarak yuvaya datatable stilini yüklemek için ama $ document.ready olduğu için, orada yararlı değil – user3895503

cevap

0

Bir geçici çözüm olarak, önce tablonun tam olarak doldurulmasını bekliyorum, eklenen tüm öğeleri sayacak olan Datatables stilini çağırın.

Yalnızca sorun, bir süredir biçimlendirilmemiş verileri göstermesidir; bu nedenle, örneğin bir yükleme öğesini göstermek için bir DOM denetimi eklemeniz gerekir.