Javascript Datatables:您可以在事件侦听器中使用each()吗?
我有一个Datatable,在这里我需要做两件事:Javascript Datatables:您可以在事件侦听器中使用each()吗?,javascript,jquery,datatables,Javascript,Jquery,Datatables,我有一个Datatable,在这里我需要做两件事: 将所有数字加在一列中 找出另一列中的单元格是否有某个值,如果有,则将其清空。(原因:如果不插入日期,MySQL表的默认日期为“1970-01-01”。我想用空单元格替换所有“1970-01-01”实例) 为此,我在draw事件上附加了一个事件侦听器,然后: 对于1)我使用了sum()Datatables插件 对于2),我遵循以下答案:,并使用了each() 问题是,当我执行此操作时,会得到一个“tabla.column(…).node
- 将所有数字加在一列中
- 找出另一列中的单元格是否有某个值,如果有,则将其清空。(原因:如果不插入日期,MySQL表的默认日期为“1970-01-01”。我想用空单元格替换所有“1970-01-01”实例)
- 对于1)我使用了sum()Datatables插件
- 对于2),我遵循以下答案:,并使用了each()
render: function (data,type,fullRow){
if(data === '1970-01-01') {
return null;
}
else {
return data;
}
}
(免责声明:未经测试!)
每次Datatables需要重新绘制表时都会调用drawCallback
函数(以及draw事件):初始加载、筛选、排序、添加新行等。这可能会产生一些不可预见的副作用,或者只是影响性能。
希望它能帮助你 谢谢你的建议。如果我错了,请纠正我:您不能在运行时设置“render()”函数,只能在初始化时设置,对吗?我的问题是,我使用的是一个由web应用程序设置的数据表,我不想接触它的源代码;换句话说,我不能修改初始化datatable的代码。我只能在创建后将事件侦听器附加到它。哦,我明白了!,如果是那样的话,我想你会被事情缠住。您可以尝试使用
init
事件,该事件在表初始化后触发,是您可以使用的事件的完整列表。顺便说一句,根据,在您的示例中不需要“.dt”名称空间
render: function (data,type,fullRow){
if(data === '1970-01-01') {
return null;
}
else {
return data;
}
}