2013-06-04 4 views
2
<h:form action="" prependId="false"> 
    <h:selectOneRadio value="#{managedBean.color}" id="color"> 
     <f:selectItem itemValue="red" itemLabel="Color1 - Red" /> 
     <f:selectItem itemValue="green" itemLabel="Color1 - Green" /> 
     <f:ajax event="click" render="group1" listener="#{managedBean.renderSubQuestions}"/> 
    </h:selectOneRadio>   
    <h:panelGroup id="group1"> 
     <h:outputLabel value=" Color Description " rendered="#{managedBean.colorRender}"></h:outputLabel>  
     <h:inputText rendered="#{managedBean.colorRender}"></h:inputText>   
     <h:selectOneRadio id="number" value="#{managedBean.integer}" rendered="#{managedBean.colorRender}" > 
      <f:selectItem itemValue="1" itemLabel="Number1 - 1" /> 
      <f:selectItem itemValue="2" itemLabel="Number1 - 2" /> 
      <f:selectItem itemValue="3" itemLabel="Number1 - 3" /> 
      <f:ajax event="click" render="group2 " listener="#{managedBean.renderSubQuestions}"/> 
     </h:selectOneRadio>   
    </h:panelGroup> 
    <h:panelGroup id="group2"> 
     <h:outputLabel value="Number Description " rendered="#{managedBean.integerRender}"></h:outputLabel> 
     <h:inputText rendered="#{managedBean.integerRender}"></h:inputText> 
    </h:panelGroup> 
</h:form> 

내 시나리오에서는 중첩 된 렌더링 된 특성이있는 중첩 JSF AJAX를 사용했습니다. 선택에 따라 색상을 선택하면 AJAX에서 일부 라디오 버튼 (추가 요소)이 렌더링됩니다. 그것은 잘 동작하지만, AJAX 동작을하는 추가 요소가 나를 위해 작동하지 않습니다. 숫자 라디오 버튼에서 rendered 속성을 제거하면 정상적으로 작동합니다. 내가 실수 한 곳을 모른다.JSF에서 중첩 된 렌더링 된 속성이있는 중첩 된 아약스

답변

3

ManagedBeanViewScoped 또는 SessionScoped에없는 것일 가능성이 큽니다. 빈에 다시 게시하면 rendered 상태가 해제됩니다. ViewScoped에 대한 변경을 제안합니다.

는 관련되지 않음 : JSF는 그것을 무시하기 때문에 당신은 h:form에서 action 속성을 제거해야합니다

  • .
+0

답장을 보내 주셔서 감사합니다. 저에게 잘 맞습니다 ... –

관련 문제