Welcome to the JavaRanch, Richard!
I might have missed something, since this is something I don't do very often, but your example looks basically OK.
The one thing that
you should probably do, however, is include the ajaxSingle="true" attribute to your a4j:support tag. If you don't do that, the entire form that contains that control will be submitted every time the onselect fires, and since the rule in JSF is that NOTHING in a submit gets processed unless ALL values on the submitted form are VALID, the behavior of that control could be erratic. Using ajaxSingle will limit the submit to just that one control, so if other controls have invalid values, it won't interfere.
I just realized that I think what I use for the event is probably "onchange", not "onselect", but I would have to check to be certain.
The secret of how to be miserable is to constantly expect things are going to happen the way that they are "supposed" to happen.
You can have faith, which carries the understanding that you may be disappointed. Then there's being a willfully-blind idiot, which virtually guarantees it.