- You created the widget but didn’t call its render() method. When you create it, that seems to update some styles and DOM elements, but not all. Calling render() updates the rest.
- You tried to apply the widget to multiple elements, but, since they have the same ID, it was applied to the same element multiple times. This is like the Ghostbusters crossing the streams, and is very bad.
I was recently looking around for a set of Ajax widgets that could give me drop-in star ratings, tagging, and commenting features in an arbitrary webapp. I didn’t find all of them, and we ended up going with an off-the-shelf commercial solution, but here are some of the widget libraries I ran across.