Quantcast
Channel: Recent Discussions — DataTables forums
Viewing all articles
Browse latest Browse all 82109

Can't get to work Hidden title numeric sorting

$
0
0
jQuery.fn.dataTableExt.oSort['title-numeric-asc']  = function(a,b) {
    var x = a.match(/title="*(-?[0-9]+)/)[1];
    var y = b.match(/title="*(-?[0-9]+)/)[1];
    x = parseFloat( x );
    y = parseFloat( y );
    return ((x < y) ? -1 : ((x > y) ?  1 : 0));
};

jQuery.fn.dataTableExt.oSort['title-numeric-desc'] = function(a,b) {
    var x = a.match(/title="*(-?[0-9]+)/)[1];
    var y = b.match(/title="*(-?[0-9]+)/)[1];
    x = parseFloat( x );
    y = parseFloat( y );
    return ((x < y) ?  1 : ((x > y) ? -1 : 0));
};

$(document).ready(function()
{
	$('#pr_code_stats').dataTable({
        "aoColumns": [
            null,
            null,
            null,
            null,
            null,
            {"sType": "title-numeric"}
        ],
		"sDom": "<'row'<'span10'l><'span10'f>r>t<'row'<'span10'i><'span10'p>>",
		"sPaginationType": "bootstrap",
		"sWrapper": "dataTables_wrapper form-inline",
		"iDisplayLength": 25,
		"aLengthMenu": [[10, 25, 50, 100, -1], [10, 25, 50, 100, "All"]],
		"fnFooterCallback": function(nRow, aaData, iStart, iEnd, aiDisplay)
		{
			var page_clicks_sum   = 0;
			var page_accounts_sum = 0;
			var page_trials_sum   = 0;
			var page_sales_sum    = 0;

			var total_clicks_sum   = 0;
			var total_accounts_sum = 0;
			var total_trials_sum   = 0;
			var total_sales_sum    = 0;

			/*calculate totals for all data*/
			for (var i = 0; i<aaData.length ; i++) {
				/*Have to strip out extra characters so parsefloat and parseInt work right*/
				total_clicks_sum   += parseInt(aaData[i][1]*1);
				total_accounts_sum += parseInt(aaData[i][2]*1);
				total_trials_sum   += parseInt(aaData[i][3]*1);
				total_sales_sum    += parseInt(aaData[i][4]*1);
			}
			/*calculate totals for this page*/
			for (var i = iStart; i<iEnd ; i++) {
				/*Have to strip out extra characters so parsefloat and parseInt work right*/
				page_clicks_sum   += parseInt(aaData[aiDisplay[i]][1]*1);
				page_accounts_sum += parseInt(aaData[aiDisplay[i]][2]*1);
				page_trials_sum   += parseInt(aaData[aiDisplay[i]][3]*1);
				page_sales_sum    += parseInt(aaData[aiDisplay[i]][4]*1);
			}

			/*modify the footer rows*/
			var nCells = nRow.getElementsByTagName('th');

			var secondRow = $(nRow).next()[0];
			var ndCells = secondRow.getElementsByTagName('th');

			nCells[1].innerHTML = addCommas(page_clicks_sum);
			nCells[2].innerHTML = addCommas(page_accounts_sum);
			nCells[3].innerHTML = addCommas(page_trials_sum);
			nCells[4].innerHTML = addCommas(page_sales_sum);
			nCells[5].innerHTML = ratio(page_sales_sum, page_clicks_sum);

			ndCells[1].innerHTML = addCommas(total_clicks_sum);
			ndCells[2].innerHTML = addCommas(total_accounts_sum);
			ndCells[3].innerHTML = addCommas(total_trials_sum);
			ndCells[4].innerHTML = addCommas(total_sales_sum);
			ndCells[5].innerHTML = ratio(total_sales_sum, total_clicks_sum);
		}
	});
});

This is how the <td> tag looks like:
<td><span title="0.035714285"></span>1:54</td>

It's not working, it is using classic string sorting on that column. Don't know how to fix this. Please help.
Thanks.

Viewing all articles
Browse latest Browse all 82109

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>