An USelect is re-rendered.
The request is issued by the HTML of a different component of the same form, for example a rich:tabPanel. The immediate attribute of the other component is set true (<rich:tabPanel immediate="true">). In that case, the label text of rich:select is not rendered. It looks like the selected value is lost.
The problem probably originates from
org.richfaces.renderkit.SelectHelper.getSelectInputLabel(FacesContext,UIComponent)
returing null if UISelect.getSubmittedValue() != null
SelectHelper.getSelectInputLabel() is indirectly called by org.richfaces.renderkit.html.SelectRenderer.encodeEnd(FacesContext,UIComponent) .
If the UISelect is not validated due to JSF immediate processing, its submitted value is not cleared.
The problem is also present when the UISelect is disabled.
If you should try to fix the bug, take care that is is fixed for disabled selects, too.
|