jquery/rails 回调一个函数来刷新数据表
Posted
技术标签:
【中文标题】jquery/rails 回调一个函数来刷新数据表【英文标题】:jquery/rails call back a function to refresh datatables 【发布时间】:2013-01-06 02:16:36 【问题描述】:我已经启动并运行了数据表,以及漂亮的 jquery-ui,就像在数据表的首页中一样。
但是,我遇到的主要问题是我很不擅长 CoffeeScript/JS
我尝试每 1 秒重新加载一次数据表,但没有看到任何请求进入网络服务器,因此网页本身没有刷新。
这是我的代码:
app/assets/javascripts/cmets.js.coffee
jQuery ->
$('#comments_id').dataTable
sPaginationType: "full_numbers"
bJQueryUI: true
bProcessing: true
sAjaxSource: $('#coments')
setInterval('$("#comments_id").dataTable().fnReloadAjax()', 3000);
似乎未执行 setInterval 回调以使用 fnDraw 重绘表格。
看来我的 setInterval 编码错误。
这是我的 app/view/cmets/index.html.erb 中的代码
<h1>Listing comments</h1>
<table id="comments_id" class="display">
<thead>
<tr>
<th>String</th>
</tr>
</thead>
<% @comments.each do |comment| %>
<tbody>
<tr>
<td><%= comment.string %></td>
</tr>
<% end %>
</tbody>
</table>
<br />
<%= link_to 'New Comment', new_comment_path %>
我们将不胜感激。
【问题讨论】:
你必须设置sAjaxSource
,而不是仅仅重绘数据表,你应该重新加载它:
.dataTable().fnReloadAjax();
.
见:JQuery DataTables - AJAX Reloading Not Working
【讨论】:
Hiya Ghommey:所以我设置了 sAjaxSource: $('#cmets')。在评论视图中,我将表定义如下以上是关于jquery/rails 回调一个函数来刷新数据表的主要内容,如果未能解决你的问题,请参考以下文章