javascript - 如何序列化 DataTables.net 中的单行?
问题描述
我有一个带有输入字段的 DataTables.net 表。
<table id="example" class="table table-striped table-bordered" style="width:100%">
<thead>
<tr class="text-center">
<th scope="col">Name</th>
<th scope="col">Level</th>
<th scope="col">Save</th>
</tr>
</thead>
<tbody>
{% for member in form.users %}
<tr>
<td>{{ member.username(class="form-control form-control-lg") }}</td>
<td>{{ member.user_level(class="form-control form-control-lg") }}</td>
<td><button type="button" user_id="{{member.id}}" class="btn btn-primary btn-save-user">Save</button></td>
</tr>
{% endfor %}
</tbody>
</table>
所以我编辑值,现在想通过按行Save
按钮来保存行:
$(document).on('click', '.btn-save-user', function (e) {
var row = dataTable.row( dataTable.row( $(this).parents('tr') ).index( ));
console.log(row.node().$('input, select').serialize());
});
但是得到一个错误:
row.node(...).$ is not a function
如果我做:
console.log(row.nodes().$('input, select').serialize());
我得到所有行的值。
如何从单行的输入中获取值?
解决方案
尝试.find()
在由返回的 jQuery 对象上使用.to$()
(这与这样的相同.tojQuery()
:.nodes().to$().find('input, select')
它为您提供了参考https://datatables.net/reference/api/to%24()
推荐阅读
- javascript - 调试 React Hooks 重新渲染问题
- javascript - 在javascript中对对象进行函数剥离克隆的最佳方法是什么?
- cordova - 在 AWS Device Farm 中,如果摄像头变黑,这意味着什么?
- azure - 如何从 Eventhub 中删除事件
- java - 程序抛出 NullPointerException
- c# - 用表单大小实时调整矩形大小?
- php - 选择一列的所有值,按另一列排序
- javascript - 包含一个外部 JSON 文件以使用 Bootstrap
- micronaut - 我正在寻找一种在 Micronaut 中向 Netty 添加处理程序的方法
- javascript - 如何在反应中使用键/值对象