0

我有一个 html 表,其中填充了来自数据库的信息。为了显示/隐藏列,我在这篇文章中实现了单行方法 Hide/Show Column in an HTML Table

我实现该方法的代码如下所示:

$("#ID").change(function(){
if ($(this).is(':checked'))
{
    $('th:nth-child(2)').hide("fast");
    $('td:nth-child(2)').hide("fast");
} else {
    $('th:nth-child(2)').show("fast");
    $('td:nth-child(2)').show("fast");
    }

});

除了当我在表格中再次显示该列时,单元格宽度和内容都被弄乱了,这很好用。我想知道是否有任何方法可以将其设置为扩展?

这是正在发生的事情的照片:

表格单元格不展开图片

4

1 回答 1

0

具体来说,使用您上面提供的示例,我不确定是什么导致了您的问题。

虽然问题可能出在 hide() 方法上,但我已经使用您的脚本在同一个想法上尝试了几次不同的迭代,但我无法让它重现相同的行为。

然而,一些更正...

  1. 忽略上面关于“display:hidden;”的评论 ...没有这样的属性。我认为这个人可能一直在尝试引用“可见性:隐藏”,但这会使内容消失,但空间不会消失......所以你会有一个空列仍然坐在那里,其内容是不可见的。
  2. 如果您将处理程序设置为一堆复选框,您可能会考虑对您的处理方式进行一些优化。我创建了一个 jsfiddle,它展示了另一种可以完成类似事情的方式。看看这对您是否有意义,如果没有,我很乐意澄清您有任何疑问。

http://jsfiddle.net/mori57/znKUJ/

如果您想在单独的 jsFiddle 中发布一些标记和 CSS,我很乐意查看并尝试为您提供更具体的指导。

于 2012-10-05T23:03:17.377 回答