[英]Why is my jquery datatables createdrow function not working?
我正在嘗試使用“數據表創建的行回調”在繪制之前修改行中的數據。 我想做的是替換所有<
和>
加上'<'
和'>'
這樣我就可以在每個單元格中放置一個換行符,並在單獨的行中添加文本。 '\\n'
或linefeed
不起作用。
var oTable = $('#table').DataTable( {
"createdRow" : function( row, data, index) {
console.log( 'DATA WAS ' + data[0]);
data[0] = data[0].replace(/</g,'<').replace(/>/g,'>');
console.log( 'DATA IS ' + data[0]);
}
在控制台中,我可以看到數據已正確修改。 但是它實際上並沒有修改表。 有沒有辦法做到這一點? 還是在繪制完行后調用createdRow回調?
是的,正確。 僅在已繪制行之后才調用createdRow回調。 除了固定當前代碼外,我還將向您展示如何通過使用列defs:D使用正確的(?)方法來實現它:此外,我認為/希望某些地方可以轉換您的<
自動填充。
var oTable = $('#table').DataTable( {
"columnDefs": [ {
"targets": 0,
"render": function(data, type, row, meta) {
html = data.replace(/</g,'<').replace(/>/g,'>');
return html;
},
],
}
將修改后的元素重新添加到相關的td(列)中。
var oTable = $('#table').DataTable( {
"createdRow" : function( row, data, index) {
console.log( 'DATA WAS ' + data[0]);
data[0] = data[0].replace(/</g,'<').replace(/>/g,'>');
console.log( 'DATA IS ' + data[0]);
$('td', row).eq(0).append(data[0]);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.