Showing posts with label jquery. Show all posts
Showing posts with label jquery. Show all posts

Wednesday, April 23, 2008

Sorting time spans with jQuery Tablesorter

I've been working a little with Christian Bach's nifty Tablesorter plugin for jQuery, and I'd like to share some cool stuff I've learned.

I wanted to sort a column of time spans formatted like this: "2 days 15:11:06". I wrote a custom parser and ended up with this:

$.tablesorter.addParser({
id: 'timespan',
is: function(s) { return false; }, // don't auto detect
format: function(s) { return s.replace(/\D/g,""); },
type: 'numeric'
});

And the usage:
$("#mytable").tablesorter({
headers : {
2 : 'timespan' // the 3rd column is a time span
}
});

All it's doing is removing all non-digits and asking for a numeric comparison. It should even work equally well for "0 days 02:30:00" and for "02:30:00", since leading zeros don't affect the sorting :-)

Monday, April 14, 2008

Dead-simple portable JavaScript logger

window.console = {
log : function (message) {
if ($('#logpane').length == 0)
$('body').append("<ul id='logpane'></ul>");
$("#logpane").append($("<li></li>").text(message));
}
};


This requires jQuery, and should work on any browser and on most pages.

It intentionally uses the name 'console.log', so it overrides logging to Firebug's logger.

To use it:
<script type="text/javascript">
console.log("foo");
console.log("bar");
<script>

It's not very pretty - just appends a list of log messages at the bottom:
  • foo
  • bar