Hi Allan,
To begin, i wanna to thank you for your really great job for datatables =)
I wanna upgrade from 1.8 to 1.9, and i have noticed that the "highlight search function" found in this forum is broken (without any error in the javascript console).
The code here:
An idea?
Thanks a lot!
Romain
To begin, i wanna to thank you for your really great job for datatables =)
I wanna upgrade from 1.8 to 1.9, and i have noticed that the "highlight search function" found in this forum is broken (without any error in the javascript console).
The code here:
// HIGHLIGHT FCT jQuery.fn.dataTableExt.oApi.fnSearchHighlighting = function(oSettings) { // Initialize regex cache oSettings.oPreviousSearch.oSearchCaches = {} oSettings.fnRowCallback = function( nRow, aData, iDisplayIndex, iDisplayIndexFull) { // Initialize search string array var searchStrings = []; var oApi = this.oApi; var cache = oSettings.oPreviousSearch.oSearchCaches; // Global search string // If there is a global search string, add it to the search string array if (oSettings.oPreviousSearch.sSearch) { searchStrings.push(oSettings.oPreviousSearch.sSearch); } // Individual column search option object // If there are individual column search strings, add them to the search string array if ((oSettings.aoPreSearchCols) && (oSettings.aoPreSearchCols.length > 0)) { for (i in oSettings.aoPreSearchCols) { if (oSettings.aoPreSearchCols[i].sSearch) { searchStrings.push(oSettings.aoPreSearchCols[i].sSearch); } } } // Create the regex built from one or more search string and cache as necessary if (searchStrings.length > 0) { var sSregex = searchStrings.join("|"); if (!cache[sSregex]) { // This regex will avoid in HTML matches cache[sSregex] = new RegExp("("+sSregex+")(?!([^<]+)?>)", 'i'); } var regex = cache[sSregex]; } // Loop through the rows/fields for matches $('td', nRow).each( function(i) { // Take into account that ColVis may be in use var j = oApi._fnVisibleToColumnIndex( oSettings,i); // Only try to highlight if the cell is not empty or null if (aData[j]) { // If there is a search string try to match if ((typeof sSregex !== 'undefined') && (sSregex)) { this.innerHTML = aData[j].replace( regex, function(matched) { return "<span class='filterMatches'>"+matched+"</span>"; }); } // Otherwise reset to a clean string else { this.innerHTML = aData[j]; } } }); return nRow; }; return this; }
An idea?
Thanks a lot!
Romain