簡體   English   中英

為什么我的jquery數據表createdrow函數不起作用?

[英]Why is my jquery datatables createdrow function not working?

我正在嘗試使用“數據表創建的行回調”在繪制之前修改行中的數據。 我想做的是替換所有&lt; &gt; 加上'<''>'這樣我就可以在每個單元格中放置一個換行符,並在單獨的行中添加文本。 '\\n'linefeed不起作用。

var oTable = $('#table').DataTable( { 
      "createdRow" : function( row, data, index) {
         console.log( 'DATA WAS ' + data[0]);
         data[0] = data[0].replace(/&lt;/g,'<').replace(/&gt;/g,'>');
         console.log( 'DATA IS ' + data[0]);
       }

在控制台中,我可以看到數據已正確修改。 但是它實際上並沒有修改表。 有沒有辦法做到這一點? 還是在繪制完行后調用createdRow回調?

是的,正確。 僅在已繪制行之后才調用createdRow回調。 除了固定當前代碼外,我還將向您展示如何通過使用列defs:D使用正確的(?)方法來實現它:此外,我認為/希望某些地方可以轉換您的&lt; 自動填充。

var oTable = $('#table').DataTable( { 
    "columnDefs": [ {
        "targets": 0,
        "render": function(data, type, row, meta) {
            html = data.replace(/&lt;/g,'<').replace(/&gt;/g,'>');
            return html;
        },
    ],
}

將修改后的元素重新添加到相關的td(列)中。

var oTable = $('#table').DataTable( { 
    "createdRow" : function( row, data, index) {
    console.log( 'DATA WAS ' + data[0]);
    data[0] = data[0].replace(/&lt;/g,'<').replace(/&gt;/g,'>');
    console.log( 'DATA IS ' + data[0]);
    $('td', row).eq(0).append(data[0]);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM