我正在使用JSF 1.2和Richfaces 3.3.3,我已经尝试了
<a4j:region>
<t:selectOneMenu id="comp1" value="#{bB.selectedTeam}" style="width: 200px">
<t:selectItems value="#{bB.teams}" var="team" itemLabel="#{team.desc}" itemValue="#{team.code}"/>
<a4j:support event="onchange" reRender="comp2"/>
</t:selectOneMenu>
但没有奏效。 comp1是一个Dojo组合框组件,当onchange事件发生时它不会做任何事情。
答案 0 :(得分:0)
JSF不跟踪纯HTML。如果你想要能够重新渲染它必须包含在组件中的东西,比如<a4j:outputPanel>
,那么你必须重新渲染该组件。
答案 1 :(得分:0)
事实证明,<t:selectItems>
呈现的html对象在页面加载时转换为dijit组件,在javascript端转换为dojo会导致用户不会与我们指示执行ajax调用的对象进行交互在通过
<a4j:support event="onchange" reRender="comp2"/>
所以解决方案是用来将事件附加到javascript浏览器端的dojo组件。