2012-05-25 2 views
3

내 xhtml 페이지에 라디오 버튼과 outputText가 있습니다. JSF - RadioButton을 선택하고 출력 텍스트를 숨 깁니다.

은 내가 라디오 버튼, 을 선택하고 내가 라디오 버튼의 선택을 취소하면이 outputText이 보이지 않을 때 있습니다 ..이 outputText가 표시됩니다 원하는

보이는/보이지 않는 태그가 무엇입니까

? 어떻게 사용 하는가?

아무도 몰라요?

감사

답변

2

당신은 출력 텍스트의 부모의 rendered 속성에 라디오 버튼 값을 확인 할 수 있습니다. 라디오 버튼 그룹 내에 <f:ajax>을 사용하여 라디오 버튼을 변경할 때마다 출력 텍스트의 부모를 업데이트 할 수 있습니다.

킥오프 예 : 아약스 render항상 내용을 업데이트하기 위해 렌더링하는 구성 요소를 필요로하기 때문에 당신이, 출력 텍스트 자체의 id을 가리킬 수 없습니다

<h:form id="form"> 
    <h:selectOneRadio value="#{bean.radio}"> 
     <f:selectItem itemValue="one" itemLabel="This should hide output text" /> 
     <f:selectItem itemValue="two" itemLabel="This should show output text" /> 
     <f:ajax render="output" /> 
    </h:selectOneRadio> 
    <h:panelGroup id="output"> 
     <h:outputText value="output text" rendered="#{bean.radio == 'two'}" /> 
    </h:panelGroup> 
</h:form> 

참고.


업데이트 당신이 클라이언트 측 솔루션보다는 서버 측 솔루션을 찾고 있다는 것을 시사한다 코멘트에 따라. 이 경우 기본 자바 스크립트 만 가져 오면됩니다.

<h:form id="form"> 
    <h:selectOneRadio value="#{bean.radio}" onclick="document.getElementById('form:output').style.display = (value == 'two' ? 'block' : 'none')"> 
     <f:selectItem itemValue="one" itemLabel="This should hide output text" /> 
     <f:selectItem itemValue="two" itemLabel="This should show output text" /> 
    </h:selectOneRadio> 
    <h:outputText id="output" value="output text" style="display: #{bean.radio == 'two' ? 'block' : 'none'}" /> 
</h:form> 
+0

감사합니다.하지만 발란스에 감사하고 싶습니다. 나는 단지 보이지 않게하고 싶다. – Dapina

+0

그럼 클라이언트 측에서 완벽하게 수행 하시겠습니까? 그럼 대답 업데이트를 참조하십시오. – BalusC

관련 문제