4

我有一张有多个tbody. 如何为每个制作标题tbody?这是怎么做的?我使用 jquery ui 可排序。我如何确定每个的标题tbody不可排序?现在我正在触发 sortable with $("#sortable > tbody").sortable({});

<table>
    <thead>
        <tr>
            <th>Col1</th>
            <th>Quantity</th>
        <tr>
    </thead>
    <tbody>
        <tr>
            <th scope="rowgroup">Col1</th>
            <th>100</th>
        <tr>
        <tr>
            <td>Col1</td>
            <td>20</td>
        <tr>
        <tr>
            <td>Col1</td>
            <td>30</td>
        <tr>
        <tr>
            <td>Col1</td>
            <td>50</td>
        <tr>
    </tbody>
    <tbody>
        <tr>
            <th scope="rowgroup">Col1</th>
            <th>100</th>
        <tr>
        <tr>
            <td>Col1</td>
            <td>20</td>
        <tr>
        <tr>
            <td>Col1</td>
            <td>30</td>
        <tr>
        <tr>
            <td>Col1</td>
            <td>50</td>
        <tr>
    </tbody>
</table>
4

1 回答 1

14

你有有趣的结构。

我假设您希望行只能在它们自己的内部进行排序<tbody>不包括包含<th>元素的行。

幸运的是,jQuery 有:has()

$("#sortable > tbody").sortable({
    items: 'tr:has(td)'
});

tr:not(:has(th)),但似乎效率较低(只是猜测)

演示:http: //jsfiddle.net/terryyounghk/Bs2jV/

参考:http ://api.jquery.com/has-selector/

此外,您可以添加connectWith: 'tbody',以防万一您希望将行添加droppable到表中的任何行<tbody>

如:

$("#sortable > tbody").sortable({
    items: 'tr:has(td)',
    connectWith: 'tbody'
});

请评论您所追求的结果。谢谢。

于 2013-04-22T17:37:22.260 回答