开发者

Outputting something like rowspan with dynamic number of records

Given a table like this:

Col 1  |  Col 2
  1         2
  1         3
  2         4

...and could be any number of 1's, 2's, etc. in Col 1. I want to dynamically output something that would look like this:

<table>
    <tr>
        <td rowspan="2">
            1
        </td>
        <td>
            2
        </td>
    </tr>
    <tr>
        <td>
            3
        </td>
    </tr>
    <tr>
        <td rowspan="1">
            2
        </td>
        <td>
            4
        </td>
    </tr>
</table>

My issue is that, for the above html, I would have to count the number of distinct 1's to find the appropriate rowspan number, then go back and iterate through them for the html output. I was just wondering if there was an easier/quicker way to do something similar where I could just iterate through the records and add something once the next row in Col 1 is different than the last row's Col 1.

I read something that sounded like I could just use rowspan="0" for the first record, and divide the groups up by tbody tags like so:

<table>
    <tbody>
        <tr>
            <td rowspan="0">
                1
            </td>
            <td>
                2
            </td>
        </tr>
        <tr>
            <td>
                3
            </td>
        </tr>
    </tbody>
    <tbody>
        <tr>
            <td rowspan="0">
                2
            </td>
            <td>
                4
    开发者_如何学Python        </td>
        </tr>
    </tbody>
</table>

...and the rowspan="0" would just span the tbody section it is contained in. I haven't been able to find much info on this method, and I couldn't get it to work in IE or Firefox. So is there anything along those lines that would speed up my html rendering? Thanks in advance.


How about trying like this?

<table>
  <tbody>
      <tr>
          <td rowspan="10">
              1
          </td>
          <td>
              2
          </td>
      </tr>
      <tr>
          <td>
              3
          </td>
      </tr>
  </tbody>
  <tbody>
      <tr>
          <td rowspan="10">
              2
          </td>
          <td>
              4
          </td>
      </tr>
  </tbody>
</table>

At least on this table it looked like it worked in IE8 and FF 3.6. I'm assuming that if rowspan="10" works fine on a table with 3 rows that has 2 sections (2 rows first, 1 row second) then rowspan="10000" should work as well.

Edit: oh yea, according to a couple of sites, the rowspan="0" works correctly so far only in Opera.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜