这是我的代码:
$(document).ready(function () {
var map;
var table = $('#example').DataTable({
dom: 'T<"clear">lfrtip',
tableTools: {
"sRowSelect": "single"
},
"fnCreatedRow": function (nRow, aData, iDataIndex) {
console.log("HI");
var s = $('td:eq(1)', nRow).text();
if (map.hasOwnProperty(s)) $('td:eq(2)', nRow).text(map[s]);
}
});
map = {
"Accountant": "100",
"Software Engineer": "150"
};
table.fnDraw();
});
有关完整代码,请查看this jsFiddle。
这里我在DataTables使用它之后分配了map
变量。所以我需要重绘表格。但我认为draw()
函数似乎不起作用。
答案 0 :(得分:1)
请尝试以下操作:
var table = $('#example').DataTable();
$('#myFilter').on( 'keyup', function () {
table
.search( this.value )
.draw();
} );
答案 1 :(得分:0)
在代码达到map
初始化之前,fnCreatedRow
在map
中使用它之前需要初始化var map = {
"Accountant": "100",
"Software Engineer": "150"
};
var table = $('#example').DataTable({
dom: 'T<"clear">lfrtip',
tableTools: {
"sRowSelect": "single"
},
"fnCreatedRow": function (nRow, aData, iDataIndex) {
var s = $('td:eq(1)', nRow).text();
if (map.hasOwnProperty(s)) $('td:eq(2)', nRow).text(map[s]);
}
});
变量。
fnDraw()
在这种情况下,您无需使用{{1}}。