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 に答える