2014-01-09 64 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/