jQuery可以在表上进行序列化排序

时间:2012-03-15 17:21:17

标签: jquery jquery-ui jquery-ui-sortable

我有一张桌子:

<table class="products">
    <thead>...</thead>
    <tfoot>...</tfoot>

    <tbody id="the-list">
      <tr id="order-0">
        <th scope="row" class="check-column">stuff</th>
        <td class="title column-title">stuff</td>
        <td class="order column-order">stuff</td>
        <td class="display column-display">stuff</td>
        <td class="action column-action">stuff</td>
      </tr>
      <tr id="order-1">
        <th scope="row" class="check-column">stuff</th>
        <td class="title column-title">stuff</td>
        <td class="order column-order">stuff</td>
        <td class="display column-display">stuff</td>
        <td class="action column-action">stuff</td>
      </tr>
      <tr id="order-2">
        <th scope="row" class="check-column">stuff</th>
        <td class="title column-title">stuff</td>
        <td class="order column-order">stuff</td>
        <td class="display column-display">stuff</td>
        <td class="action column-action">stuff</td>
      </tr>
    </tbody>
</table>

当我使用“sortable”和默认的一切时,一切都很好:

jQuery('table.products tbody').sortable();

现在当我尝试序列化时,所有可排序的功能都会消失,表格是静态的(虽然没有错误......)

jQuery('table.products tbody').sortable('serialize');

我做错了什么?

1 个答案:

答案 0 :(得分:5)

从您的问题来看,您似乎没有在尝试使用其中的方法之前初始化您的插件。

您必须先使用.sortable()初始化插件,然后才能调用.sortable('serialize')等方法。

var $table = jQuery('table.products tbody');

$table.sortable();
$table.sortable('serialize');