2012-05-25 47 views
3

我在我的xhtml頁面中有一個單選按鈕和一個outputText。JSF - 選擇一個RadioButton並且不可見一個outputText

我想要的outputText將是可見的,當我選擇單選按鈕, 和的outputText將是無形的,當我取消選擇的單選按鈕..

什麼是顯示/隱藏標籤?以及如何使用它?

有人知道嗎?

感謝

回答

2

您可以爲您在輸出文本的父的rendered屬性的單選按鈕值。您可以在單選按鈕組內使用<f:ajax>更新單選按鈕每次更改時的輸出文本的父項。

開球例如:

<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> 

請注意,您不能指向輸出文本本身的id,因爲AJAX render需要一個組件是總是以更新其內容呈現。


更新按你似乎表明,你正在尋找一個客戶端解決方案,而不是一個服務器端解決方案的意見。在這種情況下,只需抓住基本的JavaScript。

<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

感謝Balus,但我不想渲染它。我只想隱形。 – Dapina

+0

那麼你想完全執行客戶端?然後查看答案更新。 – BalusC

相關問題