我有以下GUI元素:一個下拉菜單,用於選擇您要自己輸入文本還是要從預定義文本中進行選擇。JSF呈現條件
<h:form id="test">
<div>
<h:outputLabel value="Please select:" />
<h:selectOneMenu value="#{myform.selection}">
<f:selectItem itemValue="1" itemLabel="Input text" />
<f:selectItem itemValue="2" itemLabel="Select from predefined texts" />
</h:selectOneMenu>
</div>
<div>
<h:outputLabel value="Your text: " />
<h:inputText value="#{myform.inputText}" rendered="#{myform.selection == 1}" />
<h:selectOneMenu value="#{myform.inputText}" rendered="#{myform.selection == 2}">
<f:selectItem itemValue="11" itemLabel="Preselected text 1" />
<f:selectItem itemValue="22" itemLabel="Preselected text 2" />
</h:selectOneMenu>
</div>
</h:form>
如何對呈現的條件進行編程?
更新:當窗體加載時,1已被選中,所以inputText被渲染。問題是,當我將選擇更改爲2時,沒有任何反應。我們使用基於JSF 1.2的已修改JSF庫。
'rendered'條件是正確的,但你需要使用'a4j'使組件顯示/ dissapear當用戶選擇從第一'selectOneMenu'的值。你正在使用哪個版本的JSF? – jmrodrigg
我想我也可以使用JavaScript。 h:selectOneMenu有沒有onclick? – user1414745
JavaScript在客戶端執行......我想說,使用JavaScript更改JSF屬性是不可能的。 – jmrodrigg