1

我的桌子看起来像:

<table id="pages_table">
<tr>
 <th>Name</th>
 <th>Sub title</th>
 <th>Icon url</th>
 <th>Order</th>
</tr>

<tbody>
<% @pages.each do |page| %>
<tr id="page<%=page.ordering %>">
  <td><%= page.name %></td>
  <td><%= page.sub_title %></td>
  <td><%= page.icon_url %></td>
  <td><%= page.ordering %></td>
  <td><%= link_to 'Show', page %></td>
  <td><%= link_to 'Edit', edit_page_path(page) %></td>
  <td><%= link_to 'Destroy', page, method: :delete, data: { confirm: 'Are you sure?' } %></td>
</tr>
<% end %>
</tbody>

我的javascript是:

$(function() {

 $("#pages_table tbody").sortable({
   update  : function () { 
   var order = $("#pages_table tbody").sortable('serialize'); 
   console.log(order);
  }
 });
});

无论出于何种原因,控制台语句都会打印出一个空白字符串,我不知道为什么。

4

1 回答 1

2

更改此行:

<tr id="page<%=page.ordering %>">

对于这个:

<tr id="page_<%= page.ordering %>">

看起来.sortable('serialize')需要 id 属性中的下划线。

于 2013-05-15T03:48:58.580 回答