Javascript jquerydatatables在更新值上使用过滤器
我有一个jquery移动应用程序,它由一个表组成。 该表包含一个时间字段和一些数字字段。 它们的统计数据是静态的,因为数据不会更改,我可以按名称或数字筛选表 然后我决定增加表中显示的值 用于更新值的代码Javascript jquerydatatables在更新值上使用过滤器,javascript,jquery,html,datatables,Javascript,Jquery,Html,Datatables,我有一个jquery移动应用程序,它由一个表组成。 该表包含一个时间字段和一些数字字段。 它们的统计数据是静态的,因为数据不会更改,我可以按名称或数字筛选表 然后我决定增加表中显示的值 用于更新值的代码 function UpdateFunction(){ $(".updateMeInt").each(function(index){ var cur = parseInt($(this).text(), 10); $(this).text(cur + 1);
function UpdateFunction(){
$(".updateMeInt").each(function(index){
var cur = parseInt($(this).text(), 10);
$(this).text(cur + 1);
});
$(".updateMeTime").each(function(index){
var cur = $(this).text().split(":");
var sec = parseInt(cur[1], 10);
var min = parseInt(cur[0], 10);
sec = sec + 3;
if (sec >= 60){
sec = 0
min = min + 1;
}
$(this).text(pad(min) + ":" + pad(sec));
});
}
function pad(num) {
var s = "0" + num;
return s.substr(s.length-2);
}
但是问题是,现在我无法筛选更新的值
有人能告诉我为什么会这样以及如何解决这个问题吗 您需要更新
dataTable
以及html
例如,使用函数更新整数单元格:
$(".updateMeInt").each(function(index)
{
var cur = 1+ parseInt($(this).text(), 10);
var oTable = $('#example').dataTable();
oTable.fnUpdate(cur, $(this).parent('tr')[0], $(this).index());
});
在上面的例子中,fnUpdate
()被传递给新的单元格值、父tr
-元素和单元格索引
你的第二个朋友
但是您现在可能会注意到,一旦过滤了内容,只有可见的行会继续更新。可能是您正计划从
ajax
调用或其他方式获取动态数据;在这种情况下,您最好在更新时完全销毁旧的dataTable
然而,根据您当前的示例,以下UpdateFunction()
还应该更新隐藏在数据表中的过滤行:
function UpdateFunction()
{
var oTable = $('#example').dataTable();
var nNodes = oTable.fnGetNodes();
$.each(nNodes, function(index,node)
{
$(node).children(".updateMeInt").each(function(index)
{
var cur = 1+ parseInt($(this).text(), 10);
oTable.fnUpdate(cur,node,$(this).index());
});
$(node).children(".updateMeTime").each(function(index)
{
var cur = $(this).text().split(":");
var sec = 3+ parseInt(cur[1], 10);
var min = parseInt(cur[0], 10);
if (sec >= 60)
{
min+=1;
sec%=60;
}
var newval=pad(min) + ":" + pad(sec);
oTable.fnUpdate(newval,node,$(this).index());
});
});
}
在一个JSFIDLE中。嗨,我发布了一个新问题,我非常关注这个问题。你能不能帮我处理好数据表。