【问题标题】:jQuery tablesorter - Colspan sort second columnjQuery tablesorter - Colspan 排序第二列
【发布时间】:2013-06-11 16:21:16
【问题描述】:

我有以下带有 jquery tablesorter 增强的表:

<table>
    <thead>
        <tr>
            <th colspan="2">Name</th>
            <th>Value</th>
        </tr>
    </thead>

    <tbody>
        <tr>
            <td><input type="checkbox" name="london" value="1" /></td>
            <td>London</td>
            <td>124</td>
        </tr>
        <tr>
            <td><input type="checkbox" name="oslo" value="1" /></td>
            <td>Oslo</td>
            <td>66</td>
        </tr>
        <tr>
            <td><input type="checkbox" name="athens" value="1" /></td>
            <td>Athens</td>
            <td>87</td>
        </tr>
    </tbod>
</table>

我现在的问题是,如果我单击“名称”列标题,则表格未排序,因为 tablesorter 尝试对第一列进行排序,该列是每行中的复选框。

有没有办法告诉 tablesorter 对第二列而不是第一列进行排序?

【问题讨论】:

    标签: jquery tablesorter


    【解决方案1】:

    我没有回答你的问题,但我可以告诉你替代方法。不要使用 colspan="2",而是使用以下代码

    <thead>
        <tr>
        <th style="display:none"></tr>
        <th>Name</th>
        <th>Value</th>
        </tr>
    </thead>
    

    希望它能解决你的问题。

    【讨论】:

    • 您好,我之前尝试过这个解决方案,但问题是,然后,连续有更多的 th 和 td,因此,表被破坏了。
    • 列将如何超过 td。 U r 每行有 3 个 td 标签。所以添加第 3 个标签并隐藏第一个 标签。 Name Value 这是第 3 个标签(我没有使用 colspan ) Checkbox London 122 它有3个td列。
    • @Krishna bernhard 是视觉上的意思,而不是逻辑上的意思。我也遇到了同样的问题。当第一个 不显示时,接下来的两个 被推到左边,这是在视觉上“破坏”表格。
    【解决方案2】:

    我尝试了一些解决方案,但唯一对我有用的是在第一个 td 列中添加一个隐藏跨度,其中包含第二列的值:

    <table>
        <thead>
            <tr>
                <th colspan="2">Name</th>
                <th>Value</th>
            </tr>
        </thead>
    
        <tbody>
            <tr>
                <td><span style="display: none;">London</span><input type="checkbox" name="london" value="1" /></td>
                <td>London</td>
                <td>124</td>
            </tr>
            <tr>
                <td><span style="display: none;">Oslo</span><input type="checkbox" name="oslo" value="1" /></td>
                <td>Oslo</td>
                <td>66</td>
            </tr>
            <tr>
                <td><span style="display: none;">Athens</span><input type="checkbox" name="athens" value="1" /></td>
                <td>Athens</td>
                <td>87</td>
            </tr>
        </tbod>
    </table>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多