NOTE: As of July 12, 2009, this blog has been discontinued and replaced by the new Thought Delimited blog. All of the entries in this blog can be found there, along with new posts.

A list of jQuery plugins I use

As part of his blog post today, Ray Camden and a number of the folks who posted comments pointed out that while it was great that there are a lot of plugins available for jQuery, the downside is that it's hard to know which plugins are any good.

I'm not a heavy plugin user, but I'd thought I'd list the few plugins and jQuery UI libraries that I've found to be very useful:

  • jQuery Form Plugin: this plugin appears in every project I've done since I started using jQuery. It makes it dead simple to submit forms via AJAX.

    (Oooh, it looks like the author's added some new features since the last time I download it...I'll have to check that out).

  • Tablesorter: this plugin was actually incorporated into version 1.0 of the jQuery UI library, but I don't see it listed in the current version of the UI library. This plugin lets you sort a table in ascending or descending order based on a selected column.

  • Sortables UI library: this part of the jQuery UI library lets you rearrange items on the page using drag-and-drop (something I've mentioned a number of times here on my blog).

  • TableDnD (Table Drag-and-Drop): the Sortables UI library I just mentioned does not work on table rows (tables are just "different," apparently), but this plugin lets you grab a row and move it up or down within the table.

  • curvyCorners: after trying a few different plugins aimed at letting you create curved corners for certain HTML elements (like <div>s), this plugin, although not perfect, seemed to work best.

    I must say that I couldn't get it to work right in IE, but that might have been because of the way I was using it. And it looks like the author has released a few updates since I last downloaded it, so that may not be an issue anymore.


Anyone else have any jQuery plugins they'd recommended using? Or recommend avoiding? :)

Comments
My current favourite jQuery plugins are:

Form (http://malsup.com/jquery/form/)
cycle (http://malsup.com/jquery/cycle/)
blockUI (http://malsup.com/jquery/block/)
jqGrid (http://www.trirand.com/blog/)
tablesorter (http://tablesorter.com/docs/)
thickbox (http://jquery.com/demo/thickbox/)

I also use the tabs and accordion plugins from the UI library.

I am doing things with cf and jquery that just weren't easy (or possible) without using flash/flex. After upgrading to cf8 I played with some of the built in ajax functionality and whilst cfajaxproxy is awesome the ui stuff was too bloated. Switching to jquery cut the file size in half, without losing the power.

The only thing I have trouble with now is deciding whether to use cfoutput query to loop over some records or just pull it in with jquery when it is needed!

Cheers,

Dave
# Posted By Dave Phipps | 6/30/08 4:15 AM
tablesorter was a God send on a legacy project that was using queries for re-sorting. ow.

blockUI is another great one to prevent users from causing trouble ;)
# Posted By Dana K | 6/30/08 9:05 AM
NyroModal http://nyromodal.nyrodev.com/
- really customizable modal/lightbox plugin

jQuery Date Input http://jonathanleighton.com/projects/date-input
- a very lightweight, decent looking date picker when I just need a simple date picker

scrollTo http://flesler.blogspot.com/2007/10/jqueryscrollto...
- allows you to use jQuery selectors to scrolling locations, with customizable easing and offset settings

Metadata http://plugins.jquery.com/project/metadata
- allows data, in object notation (meaning you can have arrays, etc.), to be applied to elements. i exclusively add it to the class of an element and forgo creating faux attributes. much better solution than creating ids like user_1_10 to store info

LiveQuery http://brandonaaron.net/docs/livequery/
- a little difficult to explain until you need it. basically, allows you to bind events or fire callbacks when you insert elements. it is really nice because you can set it up on your page load, and each time you add elements, whether through adding DOM elements or inserting HTML through AJAX calls, you don't have to hook up event handlers to them each time. my common use case is on pages where there might be multiple ajax calls to bring back a form and don't want to hook in the validation each time.
# Posted By Daniel Kim | 7/1/08 1:13 AM
BlogCFC was created by Raymond Camden. This blog is running version 5.1.004.