我有以下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