Действие окна предложений для выбранного

Я использую richfaces:suggestionBox следующим образом:

<h:inputText
    value="#{myBean.data}">
    <rich:suggestionbox width="100" ajaxSingle="true"
        selfRendered="true" var="result"
        suggestionAction="#{autoBean.autocomplete}"
        >
        <h:column>
            <h:outputText value="#{result.getValue('txtsugg')}" />
        </h:column>
    </rich:suggestionbox>  

Все идет хорошо, но теперь мне нужно перехватить выбор пользователя, потому что, когда пользователь выбирает определенное значение, мне нужно выполнить действие над сервером и после обновления части страницы.

Например:
1) пользователь напишет 'ala'
окно предложений предложит ему 'ala1' 'ala2' 'ala3' ...
2) пользователь выберет 'ala2' (нажмите Enter, щелкните по нему или изменить фокус)
необходимо вызвать действие сервера и обновить одну часть страницы.

Надеюсь, я объяснил свою проблему.


person Giant2    schedule 02.07.2012    source источник


Ответы (1)


попробуйте, если это работает.

<h:inputText
    value="#{myBean.data}"/>
   <a:support event="onblur" reRender="xxx"/>
</h:inputText>
<rich:suggestionbox width="100" ajaxSingle="true" selfRendered="true" var="result" suggestionAction="#{autoBean.autocomplete}">
        <h:column>
            <h:outputText value="#{result.getValue('txtsugg')}" />
        </h:column>
        <a:support event="onselect" reRender="xxxx">
           <f:setPropertyActionListener value="#{result.getValue('txtsugg')}"
                                    target="#{myBean.data}" />
        </a:support>
</rich:suggestionbox>  
person Trind    schedule 02.07.2012
comment
Спасибо @Trind с небольшой модификацией. Я использую вашу идею, чтобы поставить поддержку a4j поверх ящика для предложений. На данный момент все идет хорошо, я надеюсь, что эта поддержка a4j не доставит мне проблем в будущем. :-) - person Giant2; 06.07.2012