单击外部按钮时,我尝试使用DataTable(新版本)修改单元格值。 我现在有以下内容:
$(document).on('click', '.dropdown-menu li a', function () {
if ($(this).text() == "development") {
var cell = table.row( 6 ).data()[4]
cell.data( "development" ).draw();
}
});
这不起作用,因为我认为表行和数据检索方法没有返回具有允许我设置数据单元格值的.data()属性的对象。我收到以下错误:cell.data is not a function. (In 'cell.data( "development" )', 'cell.data' is undefined)
但是,我不确定如何在表格单元格中以.data()方式访问,即使在表格中也没有点击。我的按钮放在桌子外面的其他地方。
知道如何使这项工作吗?
答案 0 :(得分:2)
由于DataTables 1.10+可能不支持API登录页面本身提到的fnGetNodes(),现在您可以使用rows()。nodes()。
示例:http://jsfiddle.net/cmedina/7kfmyw6x/28/
var table = $('#example').DataTable({sorting : false});
var row = table.row(0).node();
$('#test').on( 'click', function () {
var text = "development";
if (text == "development") {
table.cell(row, 0).data('Development').draw();
}
});
如果您使用DataTables< 1.10然后你可以使用fnUpdate
示例:http://jsfiddle.net/cmedina/7kfmyw6x/29/
var oTable = $('#example').dataTable({sorting:false});
$('#test').on( 'click', function () {
var text = "development";
if (text == "development") {
oTable.fnUpdate('Development', 0, 0 ); // Single cell
}
})
答案 1 :(得分:1)
您可以使用fnUpdate
数据表函数仅按行和列索引更新任何特定单元格。
类似的东西:
var oTable = $('#example').dataTable();
$('#button').click(function() {
var row = document.getElementById("indexDepRow").value;
var col = document.getElementById("indexDepCol").value;
oTable.fnUpdate('development', parseInt(row), parseInt(col));
});