2017-04-12 100 views
0

我在我的html表中有两个隐藏列(我试过使用隐藏行并且切换工作得很好,但它弄糟了我的行数) 我想切换隐藏列数据在显示的行下面的一行中。 我目前的状态是它确实在切换,但它覆盖了表中的下一行。在一行中切换隐藏列数据

有没有办法创建一个临时新行,将放置在点击行的下方,将切换隐藏的列数据而不隐藏下一行?

任何帮助将不胜感激:)

这是我的表,它是由PHP脚本填充:

if($SELECT != false) 
{ 
while($rows = mysqli_fetch_array($SELECT)) 
{ 
    echo " 
    <tr> 
     <td><label><input type=\"checkbox\" name=\"lead\" value=\"".$rows["email"]."\" /></label></td> 
     <td>".$rows["createdTime"]."</td> 
     <td>".$rows["firstName"]."</td> 
     <td>".$rows["lastName"]."</td> 
     <td>".$rows["email"]."</td> 
     <td>".$rows["phoneNumber"]."</td> 
     <td>".$rows["country"]."</td> 
     <td>".$rows["ip"]."</td> 
     <td>".$rows["affiliate"]."</td> 
     <td>".$rows["description"]."</td> 
     <td>".$rows["broker"]."</td> 
     <td>".$rows["status"]."<br> <br> 
     Comment:<b> ".$rows["comment"]."</b></td> 
     <td>".$rows["ftd"]."</td> 

     <td colspan=\"13\"> 
     Transaction Id: ".$rows["transaction_id"]." 
     <br> 
     <br> 
     Balance: ".$rows["balance"]." 
</td> 
    "; 
} 
} 

这是我的切换功能:

$(function() { 
$("tr").find("td[colspan=13]").hide(); 
$("table").click(function(event) { 
    if($(event.target).is('input')){ 
     return; 
    } 
    else{ 
    var $target = $(event.target); 
    $target.closest("tr").next().find("td").slideToggle(-2000); 
} 
}); 
}); 
+1

你能告诉我们你已经试过了吗? – gwesseling

+0

当然!增加:) – adiron

+0

如果你想隐藏列,那么你应该得到一些列索引和设置显示:没有单个单元格。 –

回答

0

解决方案一:

为什么你不做一个隐藏的行(在每个可见行之后)您想要显示的列。并在悬停第一行后使其可见?

解决方法二:

放置在一个DIV隐藏的数据,并在一个div显示的数据。让两者都是td元素的孩子。如果隐藏div显示,则tr高度将缩放。

+0

我还使用TableFilter并且它搞乱的行数与寻呼功能 – adiron

+0

那就试试这个​​

,使双方的div 100%的宽度,使他们将垂直显示 – SpaceNinjaApe