2012-09-07 12 views
8

मेरे पास मेरे पृष्ठ पर एक jquery डेटाटेबल है, जो डेटा पुनर्प्राप्त करने के लिए सर्वर साइड प्रोसेसिंग का उपयोग करता है। इस मामले में, स्तंभों में से एक एचटीएमएल सामग्री शामिल है, इस प्रकार अपने सर्वर की प्रतिक्रियाएं इस तरह दिखता है:jQuery डेटाटेबल्स एचटीएमएल सामग्री दिखाएं

"aaData": [ [1, "aaa", "<span class="myclass">html here</span>" ], ... 

मैं

"aoColumnDefs": [ "aTargets":[2], "sType": "html" } 

साथ tryed लेकिन मैं अभी भी सेल सामग्री को देखने के रूप में अगर यह सादे थे स्ट्रिंग। मैं क्या कर सकता हूं?

उत्तर

5

"aoColumnDefs": [ 
    { "aTargets": [2], 
     "sType": "html", 
     "fnRender": function(o, val) { 
      return $("<div/>").html(o.aData[2]).text(); 
     } 
    } 
] 

jQuery के साथ एचटीएमएल वापस डिकोडिंग के साथ एक काम कर संस्करण बनाया।

0
var renderAsHtml = function (data, type, full) { 
return decHTMLifEnc(data); 
}; 
var isEncHTML = function(str) { 
    if(str.search(/&amp;/g) != -1 || str.search(/&lt;/g) != -1 || str.search(/&gt;/g) != -1) 
     return true; 
    else 
     return false; 
}; 

var decHTMLifEnc = function(str){ 
    if(isEncHTML(str)) 
     return str.replace(/&amp;/g, '&').replace(/&lt;/g, '<').replace(/&gt;/g, '>'); 
    return str; 
} 

fnRender के फ़ंक्शन संदर्भ के रूप में renderAsHtml को पास करें। यह भी है काम करता है

0

यह कैसे मैं अपने datatable स्तंभों में HTML टैग प्रस्तुत करना है:

ajax: "getData?userobjid=<%=session.getAttribute("userobjectid")%>&alpha=&selectsuppliersflag="+selectsuppliersflag, 
columns: [ 
      { data: null, render: function (data, type, row) { 
       if(data.storeFrontUrl == 'undefined' || data.storeFrontUrl==null){ 
         return "<label>"+data.companyName+"</label>"; 
         } 
         else{ 
         return "<a href='JavaScript:newPopup(\"directorylist/view/"+data.storeFrontUrl+"\");'>"+data.companyName+"</a>"; 
        } 
        }}, 
2

मैं SamuGG के जवाब अद्यतन नई datatable संस्करण के लिए,:

"aoColumnDefs": [ { 
        "aTargets": [ 5 ], 
        "mRender": function (data, type, full) { 
         return $("<div/>").html(data).text(); 
         } 
      } ] 
संबंधित मुद्दे