This week at work I've been struggling with a relatively simple problem that is disturbingly difficult to solve (at least as a humble web developer like myself).
Basically, I need to generate a dynamic, database-driven, menu system that will allow me to make some highly complex (tree-like) decisions based on user decisions. Ok, stated out like that, it may seem to be a complex problem.. but it's not, I promise.
In more simple terms, I need a drop-down menu system that will allow a user to “drill-down” to the proper final output without having to click on twelve submit buttons and having a lot of constraints on what they can pick depending on what was chosen in the last drop-down. I'm attempting to mix some Script.aculo.us, AJAX, and a Pear tree (a PHP plugin which was last updated on 3/17/03 as a beta).
Let me give a real world example of what I'm trying to do. You can imagine my problem by thinking about how you would implement a car repair web site. If you wanted information about your 2002 Ford Mustang's automatic transmission: you would first pick “2002″, which would then fade in a new drop-down with all the valid 2002 car models… so then you pick “Ford”… which would then fade in another new drop-down with all of the valid 2002 Ford models… now you pick Mustang… we get a new drop-down with the different 2002 Ford Mustang models… I think you get the idea.
The real problem is in doing this efficiently, elegantly, and enhancing the experience with a touch of Scriptaculous. It's tougher than you might guess. I'll let you know how it ends up!
A special note to Jim: Yes, I know this problem might be easier solved in Rails, but who says a challenge isn't fun?
November 7th, 2006 at 2:46 pm
this post is boring. truth hurts.
November 8th, 2006 at 10:48 pm
Jim, I know that's you! You just think it's boring b/c you didn't write it. I'm gonna start writing negative comments like this on your blog. At least I won't delete them… I know you will.
Wuss.
- Dustin
November 9th, 2006 at 8:56 am
You know I don't post anonymously, I'm a MAN. Yeah, it might be easier in Rails… if you already knew Ruby.
November 19th, 2006 at 12:26 am
A MAN huh? ::giggles::
Yeah, I'm slowly reading up on it and when I get the server back from you, I'll be using it as a dedicated linux box for ::gasps:: ruby on rails learning.
It'll be fun and you can help me when I get stuck. Right?
Jim… ??
::echo::
- Dustin