jQuery可排序'serialize'方法返回空字符串

时间:2012-09-14 00:19:49

标签: jquery ruby-on-rails jquery-ui-sortable

我的表格如下:

<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);
  }
 });
});

无论出于何种原因,控制台语句都会打印出一个空白字符串,我无法找出原因。

1 个答案:

答案 0 :(得分:2)

更改此行:

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

对于这个:

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

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