在轨道上的红宝石Jquery Tablesorter
问题描述:
我正在使用Ruby on Rails,并有一张表,我试图排序。 tablesorter jquery插件,它正确地加载在我的文件中。我有jquery在它前面打电话。我有这个代码在我的JavaScript。在轨道上的红宝石Jquery Tablesorter
$(document).ready(function(){
$("#myTable").tablesorter({widgets: ['zebra']});
$("#business").tablesorter({sortList: [[0,0], [1,0]]});
});
我有2个表格。我有我的表是静态的,只是为了看代码是否正常工作(和它)。我可以通过点击任何标题进行排序。
<table id="myTable">
<thead>
<tr>
<th>Last Name</th>
<th>First Name</th>
<th>Email</th>
<th>Due</th>
<th>Web Site</th>
</tr>
</thead>
<tbody>
<tr>
<td>Smith</td>
<td>John</td>
<td>[email protected]</td>
<td>$50.00</td>
<td>http://www.jsmith.com</td>
</tr>
<tr>
<td>Bach</td>
<td>Frank</td>
<td>[email protected]</td>
<td>$50.00</td>
<td>http://www.frank.com</td>
</tr>
<tr>
<td>Doe</td>
<td>Jason</td>
<td>[email protected]</td>
<td>$100.00</td>
<td>http://www.jdoe.com</td>
</tr>
<tr>
<td>Conway</td>
<td>Tim</td>
<td>[email protected]</td>
<td>$50.00</td>
<td>http://www.timconway.com</td>
</tr>
</tbody>
</table>
但我也有我的另一个表是从数据库动态拉动。根本不起作用,当我点击标题时什么也不做。
<table width="650" cellpadding="6" cellspacing="0" id="business">
<thead>
<tr>
<th>Business Name</th>
<th>Address</th>
<th>Category</th>
<th>Description</th>
</tr>
</thead>
<% @businesses.each do |business|if !business.approved %>
<tbody>
<tr>
<td><a class="Contact<%=h business.id %>" href="#"><%=h business.name %></a></td>
<td><%=h business.address %></td>
<td><%=h business.business_category.name %></td>
<td><%=h business.description %></td>
</tr>
</tbody>
<% end %>
</table>
任何帮助将是伟大的。
答
我假设你正在做一个ajax调用来请求带有业务id的动态表?如果是这样,你需要在表被添加到dom时调用tablesorter方法,通常在.ajax的成功方法中。如果你可以证明你是如何请求插入业务表的,我可以为你提供帮助。
答
不确定在问题表的输出中重复的TBODY标记是否会令tablesorter混淆。
答
问题是您的TBODY
标签正在为每行输出,这是不正确的语法。每桌只能有一个TBODY
。您的代码应该是这样的:
<tbody>
<% @businesses.each do |business|if !business.approved %>
<tr>
...
</tr>
<% end %>
</tbody>
编辑(2015年5月13日):
更好的语法将查询相关的结果,而不是所有结果的数据库,然后执行条件为原本说明。
<tbody>
<% @businesses.where(approved: false).each do |business| %>
<tr>
...
</tr>
<% end %>
</tbody>
最佳的做法是范围在模型中的查询:
范围:not_approved, - > {其中(已批准:假)}
和在控制器执行查询:
@businesses = Business.not_approved
,然后在视图中,就列举结果:
<% @businesses.each do |business| %>
答
这也解决了我使用django的问题。移动标签内的{%endfor%}解决了问题
你有没有解决这个问题? – Dsel 2013-08-15 22:08:47
请回到什么工作。 – DDDD 2013-09-24 23:21:01