rich: pickList с обновлениями Ajax - PullRequest
       34

rich: pickList с обновлениями Ajax

2 голосов
/ 15 сентября 2011

У меня есть список выбора RichFaces, из которого пользователь должен иметь возможность выбирать несколько элементов, и это должно быть непосредственно отражено в компоненте поддержки.Прямо сейчас у меня нет возможности перезагрузить выбор в случае ошибки проверки или в случае перезагрузки страницы.Есть ли простой способ сообщить RichFaces, что я хочу, чтобы список поддержки обновлялся при каждом изменении?

Ответы [ 3 ]

2 голосов
/ 19 сентября 2011

Вы можете присоединиться к событию onlistchange.

Используя a4j:support:

<rich:pickList ...>
    <a4j:support event="onlistchange"/>
</rich:pickList>

Или, в более новых версиях, используя a4j:ajax:

<rich:pickList ...>
    <a4j:ajax event="change" render="result"/>
</rich:pickList>

Или с использованием a4j:jsFunction:

<rich:pickList onlistchange="listChange();"... />
<a4j:jsFunction name="listChange" />

Оба подхода в вышеприведенной форме будут отправлять форму, вызывающую отправку выбранных значений.Вы также можете указать дополнительные атрибуты для a4j:support / a4j:jsFunction, если необходимо (например, ajaxSingle="true" для a4j:support для обработки только компонента pickList (другие входные данные не будут проверены / обновлены), action / actionListener длявыполнять логику на стороне сервера при изменении списка, reRender и т. д.).

1 голос
/ 16 сентября 2011

Вы пытались объявить свой список выбора на панели с ajaxRendered="true"? Это должно автоматически перечитать pickList

<a4j:outputPanel ajaxRendered="true">
  <rich:pickList...
</a4j:outputPanel>
0 голосов
/ 29 ноября 2013

<h:form> <rich:pickList value="#{pickListBean.result}"> <f:selectItems value="#{capitalsBean.capitalsOptions}"/> <a4j:support event="onlistchanged" reRender="result"/> </rich:pickList> </h:form>

...