如何创建与前一个表格尺寸相同的表格

时间:2010-03-02 16:19:13

标签: php javascript jquery html

我想创建一个宽度相同的表(表格及其单元格),然后创建一个动态创建的表格

第一

__________________
|_____|___|_______|
|_____|___|_______|
|_____|___|_______|

第二

__________________
|_____|___|_______|
|_____|___|_______|

如何设置具有所需宽度的第二个,我需要做什么。 (表1宽度取决于它的内容)。

修改 最后,我选择了jQuery解决方案,就这样做了:

  $("#mySecondTable tr") // mySecondTable was already generated server side
  .first() // All rows in my second table are similar so I just apply on the first one
  .find("td")
  .width(function(i){ return $("#myFirstTable tr").eq(1).find("td").eq(i).width() })
  // eq(1) fetches the line I want to use as a model since some have different colspans
  .end()

7 个答案:

答案 0 :(得分:5)

使用Javascript(我建议使用jQuery)从第一个表中获取每个“列”(th / td)的宽度,并将width CSS属性设置为第二个表中th和/或td的像素值。

答案 1 :(得分:2)

如果在您的情况下可以接受使用style =“table-layout:fixed;”在两个表上准确控制单元格宽度

答案 2 :(得分:1)

快速而肮脏的答案:您可以将它们设为一个表,它们之间的文本是colspan =“x”的单行,其中x是表中的列数或列数+ 1。

答案 3 :(得分:1)

您可以轻松地使用jQuery完成此操作:

$("table.foo")
  .clone()
    .find("td")
      .html("")
      .width(function(i){ return $("table.foo td").eq(i).width() })
      .height(function(i){ return $("table.foo td").eq(i).height() })
    .end()
  .appendTo("body");

在线演示:http://jsbin.com/obuco/3/edit

答案 4 :(得分:-1)

由于PHP在服务器端工作,因此无法识别浏览器窗口尺寸和/或表格设计。它可以检查表格单元格内容的字符串长度,您可以估计并设置输出中任何单元格的宽度。但是如果第一个表没有宽度属性,你可能需要在第二个表上使用一些javascript来使它们适合第一个宽度。

答案 5 :(得分:-1)

'luca'和'Bears will eat you'提供了两个很好的解决方案。我看到的唯一另一个是将所有数据放在一个表中,而不是两个。

答案 6 :(得分:-1)

如果我理解正确,它似乎应该只是css所需的宽度,然后一切都将根据插入的内容拉伸