【问题标题】:How to make a html-table sortable while not sorting specific rows?如何在不对特定行进行排序的情况下使 html-table 可排序?
【发布时间】:2017-07-01 21:13:58
【问题描述】:

我有一个 html 表,它有一个标题,应该可以点击来对点击列上的行进行排序。这里棘手的部分是,表中有一些不应该排序的行,属于该特定行的行应该保留在该行之下。这是一些代码,所以你明白我在说什么。

<table>
    <thead>
        <tr>
            <th>User</th>
            <th>Item</th>
            <th>Price</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <th colspan="5" style="text-align:left;">Peter</th>
        </tr>
        <tr>
            <td></td>
            <td>Apple</td>
            <td>10</td>

        </tr>
        <tr>
            <td></td>
            <td>Pineapple</td>
            <td>15</td>

        </tr>
        <tr>
            <th colspan="5" style="text-align:left;">Stan</th>
        </tr>
        <tr>
            <td></td>
            <td>Banana</td>
            <td>7</td>
        </tr>
        <tr>
            <td></td>
            <td>Orange</td>
            <td>10</td>
        </tr>
    </tbody>
</table>

因此,例如,如果我单击 Item-Header,Apple + Pineapple 行在排序时应保持在 Peter 和 Stan 行之间。如果我点击 User-Header,Peter 和 Stan 应该被排序,而 Items Apple + Pineapple 保留在 Peter 行下,Banana 和 Orange Items 保留在 Stan 行下......我希望你明白我的意思。 我已经用 jquery tablesorter-plugin 尝试过,但我找不到任何适合我的解决方案。

【问题讨论】:

  • 只需将您的表格分成几份。
  • 我已经考虑过了,但我担心它不会起作用..当我想按项目排序时,我想对彼得的项目以及斯坦的项目进行排序,只需点击 Item-Header。

标签: javascript jquery html html-table tablesorter


【解决方案1】:

您需要将每个行块括在单独的 tbody 中。

然后点击User只会对tbodys进行排序,而点击其他ths会分别对每个tbody进行排序。

编辑

表格应如下所示:

<table>
  <thead>
    <tr>
        <th>User</th>
        <th>Item</th>
        <th>Price</th>
    </tr>
  </thead>
  <tbody>
    <tr>
        <th colspan="5" style="text-align:left;">Peter</th>
    </tr>
    <tr>
        <td></td>
        <td>Apple</td>
        <td>10</td>

    </tr>
    <tr>
        <td></td>
        <td>Pineapple</td>
        <td>15</td>

    </tr>
  </tbody>
  <tbody>
    <tr>
        <th colspan="5" style="text-align:left;">Stan</th>
    </tr>
    <tr>
        <td></td>
        <td>Banana</td>
        <td>7</td>
    </tr>
    <tr>
        <td></td>
        <td>Orange</td>
        <td>10</td>
    </tr>
  </tbody>

【讨论】:

  • 不幸的是,这对我不起作用。如果我应用单独的 tbody ,我根本无法对表格进行排序。也许我做错了..彼得和斯坦行得到什么标签?
猜你喜欢
  • 2020-06-19
  • 2011-11-06
  • 1970-01-01
  • 2017-05-07
  • 2021-02-15
  • 2017-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多