2012-04-23 91 views
0

我米试图调用方法的bean时,在组合中选择一个项目(富:选择)如下:JSF /富2.0 - 当丰富的选择项调用Bean方法:选择

<rich:select id="combo" 
     value="#{bean.code}" 
     valueChangeListener="#{bean.productChanged}" 
     immediate="true" required="true"> 
     <a4j:ajax event="change" render="callConflict" 
      oncomplete="javascript:showConflict();" /> 
     <f:selectItems 
      value="#{bean.products}" /> 
     <f:attribute name="attributeName" 
      value="#{bean.attribute}" /> 
    </rich:select> 

但是这个代码,在bean的方法当项目更改而当COMBO失去焦点,只叫

至于应该做改变的产品,而不必等待组合失去焦点后,来调用Bean中的方法?

谢谢。

回答

3

有几种方法可以解决您的问题。其中之一,是从组件删除焦点

onlistclick = "x.blur()" 

onlistclick = "window.blur()" 

呀,这可以工作,但我想它是不是最好的解决方案。

另一个(更好)的方法是使用:

<a4j:ajax event="selectitem" render="xxx"/> 

记住:事件标签可能是区分灵敏。对我来说,event =“selectItem”不起作用(只有“selectitem”)。

相关问题