jquery - DataTable 使用 for 循环添加新行
问题描述
大家好
我对 DataTable 及其关于添加新行的 API 有疑问。我将 DataTable 与带有 ES5 的 jQuery 一起使用(是的,我需要这种组合)。
我有一个带有我称之为“addNewRow”的功能的按钮(是的,这很明显)。如果我点击这个按钮会显示一个带有输入的模式,我可以在其中放置一些数据,如姓名、薪水等,并将其实现到我的 DataTable,但是有什么方法可以让它更动态?因为每次当我想创建一个新列并向 HTML 模态添加新输入时,我必须在我的 js 文件中的 row.add() 中添加一个新行代码。
这是一个例子:
$buttonWrapper.on('click', '.addButton', function (){ $table = $('table').DataTable(); $table.row.add([ $modal.find('input').eq(0).val(), $modal.find('input').eq(1).val(), $modal.find('input').eq(2).val() ])。画(); });
我想要这样的循环:
$buttonWrapper.on('click', '.addButton', function (){ $table = $('table').DataTable(); $theadTr = $('table thead tr'); for(var i = 0; i < $theadTr.length; i++){ $table.row.add([ $modal.find('input').eq(i).val() ])。画(); } });
我知道每次 row.add() 都会添加它,因为它取决于长度。我也尝试在 row.add() 函数中实现一种方法,但它不起作用(在免费版本上可能不存在类似的东西)。我也尝试过 add.rows() 但它也不起作用。感谢您的任何建议。
解决方案
希望这有帮助。
$buttonWrapper.on('click', '.addButton', function (){
var newRow = [];
$table = $('table').DataTable();
$theadTr = $('table thead tr');
for(var i = 0; i < $theadTr.length; i++){
newRow.push($modal.find('input').eq(i).val());
}
$table.row.add(newRow).draw();
});
推荐阅读
- discord - discord.js 使用命令添加数字
- sql-server - 如何在从 IQueryable 生成的 SQL 脚本中为嵌套对象设置别名
- c++ - 如何正确使用生成的 protobuf 源?
- angular - 如果作为单元测试运行,Ngxs 操作不会自动订阅
- c++ - 如何确保只输入 int 而不是 char?
- python - 用 Python 中的另一个元素替换 XML 元素
- android - 如何返回向量
> 从 JNI 到 Java? - machine-learning - XGBoost 第一棵树的梯度和叶子分数
- python-3.x - PyQt5/PyInstaller 应用程序在 OSX 上无限循环打开多个副本
- javascript - AngularJs 数据表 Promise 和点燃的数据表