【问题标题】:JSF Composite Component, change event on targeted elementJSF 复合组件,目标元素上的更改事件
【发布时间】:2013-08-16 01:57:12
【问题描述】:

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

  <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”。

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

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

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

【问题讨论】:

    标签: jsf jsf-2 composite-component


    【解决方案1】:

    可能是这样的。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-01
      • 1970-01-01
      • 2012-07-26
      • 2016-01-25
      • 2015-01-23
      • 1970-01-01
      • 1970-01-01
      • 2011-06-27
      相关资源
      最近更新 更多