Or... you could rewrite the getTargetOptions() so the results of that function are temporarily stored in (for instance) the viewScope:
function getTargetOptions() {
if ( !viewScope.targetOptions ) {
//your original code from getTargetOptions here
viewScope.targetOptions = yourTargetOptions;
}
return viewScope.targetOptions;
}
By doing so, the code to retrieve/ find the options isn't executed multiple times. You could then set the rendered property of the combobox to (getTargetOptions().length > 1).
Mark