jQuery可排序表格单元格取消

时间:2012-02-28 12:46:46

标签: jquery jquery-ui html-table jquery-ui-sortable

我在排序<TD>时遇到问题。

$("table tbody").sortable({
   handle: "td[tyhi='0']",
   cancel: "td[tyhi='1']"
});

上面的代码不起作用...... 如何排除属性<TD>的{​​{1}}?

http://jsfiddle.net/tiitremmel/sFLFb/

2 个答案:

答案 0 :(得分:1)

你想对行进行排序,而不是单元格,所以html应如下所示:

<table>
<tbody>
    <tr tyhi="0">
        <td>first</td>
    </tr>
    <tr tyhi="0">
        <td>second</td>
    </tr>
    <tr tyhi="1">
        <td>third</td>
    </tr>
</tbody>
</table>

和javascript:

$("table tbody").sortable({
   items: "tr:not(tr[tyhi='1'])"
}).disableSelection();

答案 1 :(得分:0)

  

我需要它,以便你不能把第一或第二位置到最后位置。 tyhi="1"必须始终是最后的

在这种情况下,您需要将可排序/不可排序的元素放在不同的包含元素中。在您使用表格的示例中,将td元素放在tfoot中最后必须出现的位置是最具语义性的:

<table>
    <tbody>
        <tr>
            <td tyhi="0">first</td>
        </tr>
        <tr>
            <td tyhi="0">second</td>
        </tr>
    </tbody>
    <tfoot>
        <tr>
            <td tyhi="1">third</td>
        </tr>
    </tfoot>
</table>

的jQuery

$("table tbody").sortable({
   handle: "td"
});

Example fiddle