我有一个带有selectOneMenu的页面,我想知道是否有任何方法可以在没有页面刷新的情况下更新另一个div中的内容。 我正在尝试这个,这不起作用。我知道我可以做onChange =“submit()”,但刷新页面,我不希望页面刷新 此外,这可能与hx:behavior和/或ajaxRefreshSubmit有关吗? 如果是,有人可以给我一个简单的例子来实现这一点。谢谢你的帮助
<hx:selectOneMenu value="#{bean.myValue}"
valueChangeListener="#{controller.valueChangeMethod}">
<f:selectItems value="#{bean.values}" />
</hx:selectOneMenu>
<div id="divToBeUpdated">
#{bean.displayValue}
</div>
答案 0 :(得分:2)
您可以将ajax用于上述目的。这是示例代码
<h:form id="welcome">
<h:selectOneMenu id="countrydropdown" value="#{pracBB.mycountry}" >
<f:selectItem itemLabel="India" itemValue="ind"/>
<f:selectItem itemLabel="usa" itemValue="usa"/>
<a4j:support event="onchange" action="#{pracBB.changeData}" reRender="welcome"> </a4j:support>
</h:selectOneMenu>
<h:outputText value="#{pracBB.dynamicString}"/>
</h:form>
支持bean代码 private String mycountry;
private String dynamicString="default";
public void changeData()
{
if(mycountry.equalsIgnoreCase("usa"))
{
dynamicString="you have selected usa";
}
else
{
dynamicString="you have selected india";
}
}