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中的方法只在项目改变和组合失去焦点时被调用

更改产品后应该如何调用 bean 上的方法而不必等待组合失去焦点?

谢谢。

4

1 回答 1

3

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

onlistclick = "x.blur()"

或者

onlistclick = "window.blur()"

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

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

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

请记住:事件标签可能区分大小写。对我来说, event = "selectItem" 不起作用(只有 "selectitem")。

于 2012-04-24T14:57:04.887 回答