我的表格如下:
<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);
}
});
});
无论出于何种原因,控制台语句都会打印出一个空白字符串,我无法找出原因。
答案 0 :(得分:2)
更改此行:
<tr id="page<%=page.ordering %>">
对于这个:
<tr id="page_<%= page.ordering %>">
看起来.sortable('serialize')
需要id属性中的下划线。