0

我在按钮单击时显示一个输出面板,它有一个 selectonemenu 项,默认值 1 被选中,当我更改一些值并单击 CANCEL 按钮并重新打开输出面板时,将显示最后选择的值。有什么方法可以显示默认值“1”...在此先感谢

<a4j: outputPanel id="new"> 

<h:selectOneMenu id="menuID" value="#{myController.count}" immediate="true"> 
<f:selectItem itemLabel="1" itemValue="1" /> 
<f:selectItem itemLabel="2" itemValue="2" /> 
<f:selectItem itemLabel="3" itemValue="3" /> 
<f:selectItem itemLabel="4" itemValue="4" /> 
<f:selectItem itemLabel="5" itemValue="5" /> 
<f:selectItem itemLabel="6" itemValue="6" /> 
<f:selectItem itemLabel="7" itemValue="7" /> 
<f:selectItem itemLabel="8" itemValue="8" /> 
<f:selectItem itemLabel="9" itemValue="9" /> 
<f:selectItem itemLabel="10" itemValue="10" /> 
</h:selectOneMenu></td> 

<div id="popActionButtons"> 
<h:commandLink value="cancel" onclick="return closePoUpWindow(this);" /> 

<c1:ajaxCommandButton id="save" title="Save" 
onclick="return vailidatesav();" 
value="save" validationType="required" 
eventType="click" styleClass="inputButton" /></div> 
</div> 
</a4j: outputPanel>
4

2 回答 2

0

您可以在面板打开时重置“#{myController.count}”吗?问题是您在 selectOneMenu 上设置了 immediate="true",因此在单击取消按钮时,表单被提交,并且所有过程(如验证、转换、更新模型)都发生在“应用请求值”阶段。这就是你看到最后一个值的原因。因此,要么从 selectOneMenu 中删除 immediate="true" 并将其放在取消按钮上,要么必须在单击按钮时重置“#{myController.count}”,这会打开面板。

于 2013-04-03T06:21:23.187 回答
0

检查以下情况是否有问题

1.我认为您正在使用<t:savestate>此变量计数..如果是这种情况,请删除。
2. 检查 bean weather ur 的构造函数,为这个变量count设置任何值。

如果不是上述情况,您最好使用我建议的 java 脚本

  1. 页面的 onload 将默认值设置为下拉菜单。
  2. 使用onclick事件取消按钮并调用java函数将下拉框值设置为1..
于 2013-12-11T07:22:27.823 回答