[英]How to change specific jQuery dataTables cell value
我有2個HTML
表。 Table 1
和Summary Table 2
。
我使用以下函數在Table 1
的單元格中添加或刪除復選標記,然后在Summary Table 2
遞增或遞減相關值。
function toggleCheckMark(elem, brand){
var cell = $(elem).html();
if(cell == ""){
$(elem).html("✔");
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()
時。 該值是不確定的,因此不能更改。
如何更改我的函數,使其在使用DataTables()
格式化表時可以正常工作?
編輯
我的HTML已經包含空的<table id="rangereviewsummarytable">
標記,並且我使用以下函數填充摘要表。
這是一個可點擊的單元格:
rrtable += "<td class='checkboxcell' onClick=\"toggleCheckMark(this, '" + item.brand + "')\">✔</td>";
和功能
function generateReviewSummary(summaryarray){
var summarytable = "";
$.each(summaryarray, function(brand, values){
summarytable += "<tr id='" + brand +"''>"; //here is the logic behind $("#" + brand)...
summarytable += "<td>" + brand + "</td>";
summarytable += "<td>" + values.current + "</td>";
summarytable += "<td>" + values.rec + "</td>";
summarytable += "<td>" + values.user + "</td>"; // this is the col I want to update
summarytable += "</tr>";
});
summarytable = "<tbody>" + summarytable + "</tbody>";
$("#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
,因為在某處實例化了“ Summary Table 2”,所以必須具有dataTable實例:
var summaryTable = $("#" + brand).DataTable()
我只能猜測$("#" + brand)
背后的邏輯是什么。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.