/* * Extra parser: checkbox * Credit: Christian Bach * */ jQuery.tableSorter.parsers.checkbox = { id: 'input', is: function(s) { return s.toLowerCase().match(/]*checkbox[^>]*/i);; }, format: function(s) { var integer = 0; if(s.toLowerCase().match(/]*checked*/i)) { integer = 1; } return integer; }, filter: 'checkbox', sorter: jQuery.tableSorter.sorters.numeric }; jQuery.tableSorter.analyzer.add(jQuery.tableSorter.parsers.checkbox); /* * Extra parser: Ratio * Credit: Mike Chabot * */ jQuery.tableSorter.parsers.ratio = { id: 'ratio', is: function(s) { return s.match(new RegExp(/^\d+ \/ \d+$/)); }, format: function(s) { var a = s.split('/'); var r = 0 if(a.length != 2) r = 0; else if(a[1] == 0) r = Number.MAX_VALUE; else r = parseFloat(a[0]) / parseFloat(a[1]); return r; }, filter: 'numeric', sorter: jQuery.tableSorter.sorters.numeric }; jQuery.tableSorter.analyzer.add(jQuery.tableSorter.parsers.ratio);