如何使用 js 将数据链接动态添加到数据表行
How to add data-link dynamically to datatables row with js
>我有带有可点击行的表格,它渲染控制器显示操作,为了向数据库添加新记录,有一个按钮可以呈现新操作并在不刷新页面的情况下打开一个弹出窗口,在弹出窗口中提交表单后,它会动态地将新行添加到数据表中而不刷新,所有以前的都工作正常,除了新添加的行不可单击之外这是表代码
<%- model_class = Supplier -%>
<table class="table table-custom pointer" id="editable-usage">
<thead>
<tr>
<th class="table-text-center"><%= model_class.human_attribute_name(:name) %></th>
<th class="table-text-center"><%= model_class.human_attribute_name(:code) %></th>
<th class="table-text-center"><%= model_class.human_attribute_name(:email) %></th>
<th class="table-text-center"><%= model_class.human_attribute_name(:total_credit) %></th>
<th class="table-text-center"><%= model_class.human_attribute_name(:notes) %></th>
</tr>
</thead>
<tbody>
<% @suppliers.each do |supplier| %>
<tr data-link="<%= supplier_path(supplier) %>">
<td><%= supplier.name %></td>
<td><%= supplier.id %></td>
<td><%= supplier.email %></td>
<td><%= supplier.total_credit %></td>
<td><%= supplier.notes %></td>
</tr>
<% end %>
</tbody>
</table>
创建.js.erb文件代码:
// hide the popup
$('#splash').modal('hide');
// insert the new row
var t = $('#editable-usage').DataTable();
t.row.add([ '<%= @supplier.name %>','SC00<%=@supplier.id %>','<%=@supplier.email %>','','<%=@supplier.notes %>']).draw();
如何将 ( 数据链接="<%= supplier_path(供应商) %>" ) 添加到这个新的 TR
你不能做像$(tr).data("link", "<%= supplier_path(supplier) %>");
这样的事情吗.
也许这不是最优雅的解决方案,但你可以把回调放在表重绘事件上,像这样
t.on( 'draw', function () {
$(t+'>tr').attr(data-link="<%= supplier_path(supplier) %>");
} );
我认为如果没有回调就不会添加它。
我找到了参考@datatables解决方案
我添加到创建.js.erb
t.row.add([ '<%= @supplier.name %>','SC00<%=@supplier.id %>','<%=@supplier.email %>','','<%=@supplier.notes %>']).draw().nodes().to$().attr("data-link", "<%= supplier_path(@supplier) %>");
并添加到 js 文件中
var oTable = $('#editable-usage').DataTable();
oTable.on( 'draw', function () {
$("tr[data-link]").click(function () {
window.location = this.dataset.link
});
});
似乎我应该添加 .nodes() .to$() 以便我可以添加属性
相关文章:
- 将单击事件添加到数据表
- Knockout.JS,模板都是通过表单不添加数据的
- 如何根据某些条件向可编辑的jquery数据表添加或删除按钮
- 将索引列添加到数据表
- JQuery - 根据数组数据将 html 表列添加到表的末尾
- 无法在引导表中再次添加数据
- 将文本框中的数据添加到表Javascript、HTML中
- jquery数据表显示/隐藏列添加了错误的选择
- 如何在metrojs中将复选框添加到数据表中
- 如何在表空或在jquery数据表中找不到匹配项的情况下添加自定义警告消息
- 数据表1.8.0添加服务器参数无效
- 数据表中的fnAddData()添加到同一行,而不是添加到新行
- 在数据表的新行中添加按钮,变得未定义
- 将页面控件添加到数据表,但当代码运行时,页面中不显示任何内容
- j查询选择动态添加的表行的列数据
- 向数据表中的 json 数据添加文本
- 我想显示数据库中的数据.如果我们新添加一个表单数据,我想附加显示的新帖子而不使用代码点火器刷新
- 如何使用 js 将数据链接动态添加到数据表行
- 向饼状高图添加数据表
- 使用JavaScript添加数据表到HTML表:无法读取属性'parentNode'零