我正在使用名为Tablesorter的jQuery插件。
到目前为止,我的表可以对每个页面上显示的行进行排序。但是,我想实现它,以便当我基于列标题对表进行排序时,表对数据库中的所有数据进行排序并更新表以显示排序的数据。
我该如何实现?
我的jQuery:
$(function(){
$('#keywords').tablesorter();
});
我的观点:
<div class="col-md-11">
<table id="keywords" class="table table-hover">
<thead>
<tr>
<th>Title</th>
<th>Location</th>
<th>Added on</th>
</tr>
</thead>
<tbody>
<% @events.each do |event| %>
<tr>
<td><%= event.title %></td>
<td><%= event.location %></td>
<td><%= event.created_at %></td>
<td><%= link_to "Edit", edit_event_path(event), class: "btn btn-default" %></td>
<td><%= link_to 'Destroy',event,method: :delete, data: { confirm: 'Are you sure?' }, class: "btn btn-default" %></td>
</tr>
<% end %>
</tbody>
</table>
<div class="pull-right">
<%= will_paginate @events %>
</div>
</div>
我的控制器操作:
def new
@event = Event.new
@events = Event.paginate(:page => params[:page], :per_page => 20).order('id DESC')
end
答案 0 :(得分:1)
我不熟悉ruby,但我认为你需要使用tablesorter pager小部件或插件,你需要应用一些ajax小部件选项。 tablesorter文档有一个寻呼机小部件here的示例,main documentation page有更多信息和指向其他相关示例的链接。