<h:selectOneMenu>
(또는 다른 구성 요소)의 값을 다른 <h:selectOneMenu>
에 따라 자동으로 설정하는 방법을 알려줄 수 있습니까? 양식에 '사실'이 있습니까? <a4j:support event="onchange" reRender="anotherElement" immediate="true" />
으로 설정하면 변경된 값이 설정되지 않으므로 아무 것도 변경되지 않습니다. 하지만 immediate="true"
이 없으면 항상이 요소가 비어있을 수 없다는 메시지가 있습니다. 다음은 작동하지 않는 코드 예제입니다. 그래서둘 다 필요에 따라 값이 다른 드롭 다운에 따라 값을 설정하는 방법
<h:outputLabel value="* #{msg.someField}: "/>
<h:panelGrid cellpadding="0" cellspacing="0">
<h:selectOneMenu id="someSelect"
value="#{MyBean.someObj.someId}"
required="true" label="#{msg.someField}"
>
<a4j:support event="onchange" reRender="anotherSelect" limitToList="true" immediate="true"/>
<f:selectItem itemValue=""/>
<f:selectItems value="#{MyBean.someList}"/>
</h:selectOneMenu>
<rich:message for="someSelect" styleClass="redOne"/>
</h:panelGrid>
<h:outputLabel value="* #{msg.anotherField}: "/>
<h:panelGrid cellpadding="0" cellspacing="0">
<h:selectOneMenu id="anotherSelect"
value="#{MyBean.someObj.anotherId}"
required="true" label="#{msg.anotherField}"
>
<f:selectItem itemValue=""/>
<f:selectItems value="#{MyBean.anotherList}"/>
</h:selectOneMenu>
<rich:message for="anotherSelect" styleClass="redOne"/>
</h:panelGrid>
<h:outputLabel value="* #{msg.name}: "/>
<h:panelGrid cellpadding="0" cellspacing="0">
<h:inputText id="myName" value="#{MyBean.someObj.myName}"
required="true" label="#{msg.name}"/>
<rich:message for="myName" styleClass="redOne"/>
</h:panelGrid>
, 여기 (I 반복), 나는 그것의 값을 업데이트해야합니다 'someSelect'다음 'anotherSelect'을 변경하려고하지만 않는 경우 때문이 아니라 중 하나는 'someSelect'가 도착의 가치를하려고 할 때 null (immediate
이 true
으로 설정된 경우) 또는 빈 요소에서 양식 유효성 검사가 실패합니다. 유효성 검사를 건너 뛰어도이 'someSelect'에서 변경된 값을 얻으려면 어떻게해야합니까?
예, 감사합니다. 정말 간단합니다 :) – mykola