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

問題を解決する方法はいくつかあります。それらの1つは、コンポーネントからフォーカスを削除することです

onlistclick = "x.blur()"

また

onlistclick = "window.blur()"

ええ、これはうまくいくかもしれませんが、私はそれが最善の解決策ではないと思います。

別の(より良い)方法は、以下を使用することです。

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

覚えておいてください:イベントタグは大文字と小文字を区別する場合があります。私の場合、event = "selectItem"は機能しません( "selectitem"のみ)。

于 2012-04-24T14:57:04.887 に答える