0

我正在使用 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 事件发生时它不做任何事情。

4

2 回答 2

0

JSF 不跟踪纯 HTML。如果您希望能够重新渲染某些内容,则必须将其包装在组件中,例如<a4j:outputPanel>,然后您必须重新渲染该组件。

于 2013-08-21T08:24:12.267 回答
0

事实证明,<t:selectItems>当页面加载时,呈现的 html 对象被转换为 dijit 组件,在 javascript 端转换为 dojo 会导致用户不会与我们指示在事件 onchange 中执行 ajax 调用的对象交互

<a4j:support event="onchange" reRender="comp2"/>

所以解决方案是使用以将事件附加到javascript浏览器端的dojo组件。

于 2013-08-22T16:19:28.553 回答