2

我启动并运行了数据表,以及漂亮的 jquery-ui,就像在数据表的首页中一样。

但是,我遇到的主要问题是我很讨厌 CoffeeScript/JS

我试图每 1 秒重新加载一次数据表,但没有看到任何请求进入网络服务器,因此网页本身没有刷新。

这是我的代码:

应用程序/资产/javascripts/comments.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/comments/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 %>

帮助将不胜感激。

4

1 回答 1

0

您必须设置sAjaxSourceand 而不是只重绘数据表,您应该重新加载它:

.dataTable().fnReloadAjax();.

请参阅:JQuery 数据表 - AJAX 重新加载不起作用

于 2013-01-22T18:38:06.240 回答