Как сохранить старые значения других полей после изменения selectOneMenu

У меня есть p:selectOneMenu, при изменении значения я показываю/скрываю другие поля, но другие поля сбрасываются.

<h:panelGrid columns="1" >
    <p:outputLabel value="Usuario" />
    <p:inputText value="#{controladorGestionUsuario.usuario.usuario}"
                 size="30" 
                 placeholder="Usuario"
                 required="true"
                 requiredMessage="Ingrese el usuario"/>
</h:panelGrid>
<h:panelGrid columns="1" >
    <p:outputLabel value="Rol" />
    <p:selectOneMenu value="#{controladorGestionUsuario.nombreRol}"
                     style="width: 200px" 
                     required="true"
                     requiredMessage="Seleccione un rol" >
        <f:selectItem itemLabel="Seleccione un rol" itemValue="#{null}" />
        <f:selectItems value="#{controladorGestionUsuario.roles}" 
                       var="rol"
                       itemLabel="#{rol.nombre}" itemValue="#{rol.nombre}" />
        <p:ajax update="sedes instituciones :form:pnlContenedor" />
    </p:selectOneMenu>
</h:panelGrid>
<h:panelGrid columns="1" 
             id="instituciones" 
             rendered="#{controladorGestionUsuario.nombreRol != null and controladorGestionUsuario.nombreRol != controladorGestionUsuario.nombreRolAdminSistema}">
    <p:outputLabel value="Institución" />
    <p:selectOneMenu value="#{controladorGestionUsuario.idInstitucion}"
                     style="width: 200px" 
                     required="true"
                     requiredMessage="Seleccione una institución" >
        <f:selectItem itemLabel="Seleccione una institución" itemValue="#{null}" />
        <f:selectItems value="#{controladorGestionUsuario.instituciones}" 
                       var="institucion"
                       itemLabel="#{institucion.nombre}" 
                       itemValue="#{institucion.id}" />
        <p:ajax update="sedes :form:pnlContenedor"
                listener="#{controladorGestionUsuario.manejarCambioInstitucion}" />
    </p:selectOneMenu>
</h:panelGrid>
<h:panelGrid columns="1" 
             id="sedes" 
             rendered="#{controladorGestionUsuario.nombreRol != null and controladorGestionUsuario.nombreRol != controladorGestionUsuario.nombreRolAdminSistema}">
    <p:outputLabel value="Sede" />
    <p:selectOneMenu value="#{controladorGestionUsuario.idSede}"
                     style="width: 200px" 
                     required="true"
                     requiredMessage="Seleccione una sede" >
        <f:selectItem itemLabel="Seleccione una sede" itemValue="#{null}" />
        <f:selectItems value="#{controladorGestionUsuario.sedes}" 
                       var="sede"
                       itemLabel="#{sede.nombre}" 
                       itemValue="#{sede.id}" />
    </p:selectOneMenu>
</h:panelGrid>

Когда я выбрал значение «Rol», показать/скрыть панель «instituciones» и «sedes», но ввод «Usuario» сбрасывается.

Как сохранить значение поля «Усуарио»?


person victorpacheco3107    schedule 24.04.2014    source источник
comment
возможный дубликат Как я могу изменить значение selectOneMenu без перезапуска inputText?   -  person BalusC    schedule 25.04.2014
comment
Пожалуйста, не задавайте повторно один и тот же вопрос, если хотите улучшить его. Просто отредактируйте исходный вопрос, он все равно будет поднят.   -  person BalusC    schedule 25.04.2014