0

我有一个带有 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>
4

1 回答 1

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";

    }

}
于 2013-10-16T08:00:42.503 回答