Sunday, March 01, 2009

JQuery AutoComplete - Lessons Learnt

I can actually go to bed tonight after resolving my bugbear of the past few days: jquery.autocomplete. I usually stay away from JavaScript development in my day job but the past few days has seen me trying to do some work that requires autocomplete functionality. Never knowingly backing away from a challenge, I rolled up my sleeves and got to work.

It wasn't very difficult finding resources to get me started on this very useful plugin to the jquery framework library. Where I met my challenge was the use case which I sought to implement. I was going to be populating the lookup elements dynamically and this data would be supplied by the server-side in JSON at that. JSON being a subset of JavaScript made sense and I figured this would work out of the box....untrue. Thanks to Firebug I found that the JSON data coming back from the server side wasn't understood.

After a few days of sulking, I found some succour in the form of a jquery autocomplete implementation which actually speaks JSON. I had to tweak it to do my bidding in the end of the day but this was a better match for my problem and I am grateful to the codeassembly guy(s).

A few points to note:
It would be nice if the JSON functionality is brought into the main jquery.autocomplete.
It would also be nice to have a user defined formatItem function like the main jquery.autocomplete that is called after the JSON data is returned(this is the part of the codeassembly implementation I had to tweak to do my own thing).

All in all an interesting experience. I have a few more things to do in JavaScript land and will let you know how I get on.