2015-10-07 61 views
2

我想在從ajax獲取響應後在td內添加html元素。在jQuery中的Ajax請求後在td中添加html元素DataTables

結果會是怎樣出頭:

<tr> 
<td class="mycus-class" data-title="abc"><span class="mycus-class2">XYZ</span></td> 
<td class="mycus-class" data-title="ghi"><span class="mycus-class2">GKL</span></td> 
..... 
</tr> 
+1

過於廣泛。我們不知道ajax是否與插件綁定。需要提出更多的努力概述你的問題,尤其是當它涉及一個複雜的插件 – charlietfl

回答

6

很容易與一個render()功能,此處略演示:

var data = [ 
    { firstName: 'john', lastName : 'doe' } 
] 

var table = $('#example').DataTable({ 
    data : data, 
    columns : [ 
     { data : 'firstName', 
      render : function(data, type, row) { 
       return '<span class="mycus-class2">'+data+'</span>' 
      }  
     }, 
     { data : 'lastName' } 
    ]   
}) 

http://jsfiddle.net/e9be48oq/


您可以針對多一次通話中的列:

columnDefs : [ 
    { targets : [0,3,4,5], 
    render : function(data, type, row) { 
     return '<span class="mycus-class2">'+data+'</span>' 
    }  
    } 
] 
+0

謝謝@davidkonrad,真棒的答案。 – vineet

+1

@ chotesah,考慮接受答案,如果它幫助你。 –

0

"fnRowCallback": function (nRow, aData, iDisplayIndex, iDisplayIndexFull) { 
 
       console.log(aData[1]); 
 
       if (aData[1] == "Imported") 
 
       { 
 
        // $('td').css('background-color', '#FBE9E7'); 
 
        $(nRow).find('td:eq(1)').addClass('label label-success'); 
 
       } else if (aData[1] == "Inactive") { 
 
        $(nRow).find('td:eq(1)').addClass('label label-danger'); 
 
       } else if(aData[1] == "Exported") { 
 
        $(nRow).find('td:eq(1)').addClass('label label-primary'); 
 
       }else{ 
 
        $(nRow).find('td:eq(1)').html('<span class="label label-default">'+aData[1]+'</span>'); 
 
        // $.addClass('label label-default'); 
 
       } 
 

 
      },