我们正在为我们的项目使用JSF 1.2。要求是根据当前selectonemenu中的值更改来更新另一个selectonemenu选项。
基于select1选项,select2需要更新。
<h:selectOneMenu id="select1" value="#{subscription.subscriptions}" onchange="javascriptMethod()">
<f:selectItem id="item1" itemLabel="News" itemValue="1" />
<f:selectItem id="item2" itemLabel="Sports" itemValue="2" />
</h:selectOneMenu>
<h:panelGroup id="panel2">
<h:selectOneMenu id="select2" value="#{subscription.subscriptions2}">
<f:selectItem id="item1" itemLabel="News" itemValue="1" />
<f:selectItem id="item2" itemLabel="Sports" itemValue="2" />
</h:selectOneMenu>
</h:panelGroup>
答案 0 :(得分:0)
您可以像这样使用ajax支持
<h:selectOneMenu id="select1" value="#{subscription.subscriptions}" >
<f:selectItem id="item1" itemLabel="News" itemValue="1" />
<f:selectItem id="item2" itemLabel="Sports" itemValue="2" />
</h:selectOneMenu>
Jsf 1.2没有ajax支持你唯一能做的就是在命令按钮上发生整页重新加载。
我认为你使用richfaces作为ajax和富ui组件的第三方。 希望这可以帮助。
如果您正在使用primefaces,那么您可以像这样替换标签
<p:ajax event="onchange" update="select2" action="if you want to anything in
backend"/>
如果你想通过javascript做,那么有一个隐藏的h:commandButton并将代码放入你的 像这样的javascriptMethod()方法
document.getElementById("myHiddenButtonId").click();