Rails 上的动态 AJAX 数据表 w/ ruby
Dynamic AJAX Datatable w/ ruby on Rails
我的老板让我让我们的数据table自动更新新数据,而无需重新加载页面。
根据我的研究,我需要用我们的数据table 编写一些AJAX 脚本,但不确定 是否可以使用。
我在同一页面上有一个表单,我使用 Ajax 和 jquery 到 post 到数据库。这一切都很完美,但我们需要 table 来自动更新(添加或删除行),而不仅仅是来自用户的事件,而是在自动计时器上,因为数据是通过 API 远程输入的。
目前我们有这种类型的设置:(简化为基础)
控制器:
def index
@data = Data.all
respond_to do |format|
format.html
end
end
查看:
<table class="table" id="data_table" width="100%">
<thead>
<tr>
<th>
Id
</th>
<th>
Origin
</th>
<th>
Destination
</th>
</tr>
</thead>
<tbody>
<% if @data.nil? %>
<tr></tr>
<% else %>
<% @data.each do |s| %>
<tr>
<td>
<%= s.id %>
</td>
<td align="center">
<%= s.origin_cs unless s.origin_cs.nil? %>
</td>
<td align="center">
<%= s.dest_cs unless s.dest_cs.nil? %>
</td>
</tr>
<% end %>
<% end %>
</tbody>
</table>
jQuery:
var post_load = $('#data_table').dataTable( {
paging: false,
scrollY: 200,
"bAutoWidth": true,
"bJQueryUI": true,
"dom":'TC<"clear"><"toolbar1">frtip',
"oTableTools": {
"sRowSelect": "single",
"aButtons": [
]
},
"columnDefs": [
{
"targets": 0,
"visible": false,
"searchable": false
},
{
"targets": [1,2],
"searchable": false,
"width": "250px"
}]
});
javascript 中的计时器每隔 n 秒调用您的 ajax 函数以重新加载 table 怎么样?
How do i get this javascript to run every second?
我的老板让我让我们的数据table自动更新新数据,而无需重新加载页面。
根据我的研究,我需要用我们的数据table 编写一些AJAX 脚本,但不确定 是否可以使用。
我在同一页面上有一个表单,我使用 Ajax 和 jquery 到 post 到数据库。这一切都很完美,但我们需要 table 来自动更新(添加或删除行),而不仅仅是来自用户的事件,而是在自动计时器上,因为数据是通过 API 远程输入的。
目前我们有这种类型的设置:(简化为基础)
控制器:
def index
@data = Data.all
respond_to do |format|
format.html
end
end
查看:
<table class="table" id="data_table" width="100%">
<thead>
<tr>
<th>
Id
</th>
<th>
Origin
</th>
<th>
Destination
</th>
</tr>
</thead>
<tbody>
<% if @data.nil? %>
<tr></tr>
<% else %>
<% @data.each do |s| %>
<tr>
<td>
<%= s.id %>
</td>
<td align="center">
<%= s.origin_cs unless s.origin_cs.nil? %>
</td>
<td align="center">
<%= s.dest_cs unless s.dest_cs.nil? %>
</td>
</tr>
<% end %>
<% end %>
</tbody>
</table>
jQuery:
var post_load = $('#data_table').dataTable( {
paging: false,
scrollY: 200,
"bAutoWidth": true,
"bJQueryUI": true,
"dom":'TC<"clear"><"toolbar1">frtip',
"oTableTools": {
"sRowSelect": "single",
"aButtons": [
]
},
"columnDefs": [
{
"targets": 0,
"visible": false,
"searchable": false
},
{
"targets": [1,2],
"searchable": false,
"width": "250px"
}]
});
javascript 中的计时器每隔 n 秒调用您的 ajax 函数以重新加载 table 怎么样? How do i get this javascript to run every second?