如何更改特定的jQuery dataTables单元格值

我有2个HTML表格。 Table 1Summary Table 2

我使用以下函数在Table 1中的单元格中添加或删除复选标记,然后在Summary Table 2增加或减少相关值。

 function toggleCheckMark(elem, brand){ var cell = $(elem).html(); if(cell == ""){ $(elem).html("&#x2714"); var brandval = parseInt($("#" + brand).find("td:eq(3)").html()); var newval = brandval + 1; $("#" + brand).find("td:eq(3)").html("" + newval + ""); } else { $(elem).html(""); var brandval = parseInt($("#" + brand).find("td:eq(3)").html()); var newval = brandval - 1; $("#" + brand).find("td:eq(3)").html("" + newval + ""); } } 

Summary Table 2是沼泽标准html表时,这非常正常。 但是当我在Summary Table 2上使用DataTables()时。 该值未定义,因此无法更改。

如何更改我的function,以便在我的表格式化为DataTables()时它可以正常工作?

编辑

我的HTML已经包含空的

标签,我使用以下函数来填充摘要表。

这是一个可点击的单元格:

 rrtable += "
";

和function

 function generateReviewSummary(summaryarray){ var summarytable = ""; $.each(summaryarray, function(brand, values){ summarytable += "
"; //here is the logic behind $("#" + brand)... summarytable += ""; summarytable += ""; summarytable += ""; summarytable += ""; // this is the col I want to update summarytable += ""; }); summarytable = "" + summarytable + ""; $("#rangereviewsummarytable").append(summarytable); //$("#rangereviewsummarytable").DataTable(); $("#rangereviewsummarypanel").show(); }

始终使用API​​。 您似乎想要更新特定行中的特定列 – 使用.cell().data() API方法而不是jQuery .html()

 var brandval = parseInt(summaryTable.cell({ row: 0, column: 2 }).data()) brandVal = !isNaN(brandVal) ? brandVal+1 : 1 //or -1 summaryTable.cell({ row: 0, column: 2 }).data(brandVal).draw() 

我指的是一个summaryTable ,你必须拥有的dataTable实例,因为你在某处实例化了“Summary Table 2”:

 var summaryTable = $("#" + brand).DataTable() 

我只能猜测$("#" + brand)背后的逻辑是什么。

&#x2714
" + brand + "" + values.current + "" + values.rec + "" + values.user + "