【问题标题】:jQuery sortable 'serialize' method returning blank stringjQuery可排序“序列化”方法返回空白字符串
【发布时间】:2012-09-07 03:35:51
【问题描述】:

我的桌子是这样的:

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

不管什么原因,控制台语句打印出一个空白字符串,我不知道为什么。

【问题讨论】:

  • 尝试在你的表头周围添加一个thead以确保这不是问题,并尝试在tbody中添加一些额外的硬编码测试文本以查看是否被选中。
  • 是的,这正是问题所在!删除第一组 标记使其完美序列化!

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


【解决方案1】:

改变这一行:

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

对于这个:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-09
    • 1970-01-01
    • 1970-01-01
    • 2020-11-14
    • 2022-01-13
    • 1970-01-01
    • 2018-06-07
    相关资源
    最近更新 更多