2014-01-09 38 views
0

我想,按照以下的代碼生成我的表只有一些行(例如只有兩個):顯示/過濾一些行

function loadTable(){ 

    $.getJSON('sort.php', function(data) { 
     $('#mytable tbody tr').remove(); 
     $.each(data, function(i, val) { 
      $('#mytable tbody').append('<tr><td>'+val.value0+'</td><td>'+val.value1+'</td><td>'+val.value2+'kb/'+val.value3+'kb</td><td>10:59 08/01/2014</td></tr>'); 
     }); 
    }); 

    $('#mytable tbody').hide(); 
    $('#mytable tr').slice(0, 2).show(); 
    setTimeout("loadTable()",15000); 
    } 

但與此代碼只能躲功能而不是演出。任何幫助?

+1

不要你需要顯示它在阿賈克斯成功的回調?因爲你在此之前就隱藏了你的屍體。 – PSL

+0

不隱藏父母它也會隱藏孩子的..只是隱藏你想要的那些行..休息是默認顯示。 – Neha

+0

刪除tbody的隱藏,我試圖顯示一些行,但我沒有成功。請問您能否以示例的方式向我展示? – user3155074

回答

0

只有將它們添加到頁面後,才能顯示行。

function loadTable(){ 

    var tbody = $('#mytable tbody').hide(); 

    $.getJSON('sort.php', function(data) { 
     tbody.empty(); 
     $.each(data, function(i, val) { 
      tbody.append('<tr><td>'+val.value0+'</td><td>'+val.value1+'</td><td>'+val.value2+'kb/'+val.value3+'kb</td><td>10:59 08/01/2014</td></tr>'); 
     }); 

     tbody.find("tr").hide().slice(0, 2).show(); 
     tbody.show(); 
     setTimeout(loadTable,15000); 


    }); 

    } 
+0

我已經嘗試過,但這不適用於我 – user3155074

+0

我添加了代碼來「隱藏」額外的行。不知道這是否是問題。 – epascarello

+0

仍然不起作用 – user3155074

0

問題可能是您隱藏父級,然後嘗試顯示子級。

$('#mytable tbody').hide(); 
$('#mytable tr').slice(0, 2).show(); 

相反,只是隱藏你不想顯示的子行。

$('#mytable tr').slice(2, $('#mytable tr').length).hide(); 

http://jsfiddle.net/B8MzM/