2

我们已经构建了以下组件:

  <h:panelGroup id="#{cc.attrs.id}Component" rendered="#{cc.attrs.rendered}">
  <div id="#{cc.attrs.id}" class="select #{cc.attrs.styleClass}" >
    <h:inputText id="input" disabled="#{cc.attrs.disabled}"
      value="#{cc.attrs.value}"
      tabindex="#{cc.attrs.tabindex}" maxlength="#{cc.attrs.maxlength}" 
      converter="#{cc.attrs.converter}">
      <a4j:ajax event="change" render="select" />        
    </h:inputText>
    <rich:select disabled="#{cc.attrs.disabled}"
      id="select" value="#{cc.attrs.value}"
      listWidth="#{cc.attrs.listWidth}"
      converter="#{cc.attrs.converter}">          
      <f:selectItems value="#{cc.attrs.items}" var="si"
        itemValue="#{xyz}" itemLabel="#{xyz.name}" />
      <a4j:ajax event="selectitem" render="input" />           
    </rich:select>
    </div>        
  </h:panelGroup>

我们已经定义我们接受带有目标输入的更改事件并选择:

<composite:clientBehavior name="change" event="change" targets="input select"/>     

但是对于选择项,我们确实需要事件是“selectItem”而不是“更改”。

显然,我们可以在界面中同时接受“change”和“selectItem”,但这意味着实现者必须同时指定 change 和 selectItem 操作。

<a4j:ajax event="change" ... />
<a4J:ajax event="selectItem" ... />

有什么方法可以将目标输入上的事件从更改更改为 selectItem?

4

1 回答 1

0

可能是这样的。

<composite:clientBehavior name="change" event="change" targets="input"/>
<composite:clientBehavior name="change" event="selectItem" targets="select"/>
于 2015-07-03T13:48:41.643 回答