2013-06-10 4 views
1

Происходит ли событие ajax, когда элемент добавлен в richfaces (4.3.1.Final) pickList? Мне нужно включить отключение кнопки в зависимости от того, были ли выбраны какие-либо элементы.Richface pickList событие ajax, когда элемент был добавлен/удален

Руководство разработчика не упоминает об этом вообще, но я обнаружил this при поиске в Интернете. Используя предлагаемое решение, я использовал следующие события ajax:

<rich:pickList 
     var="item" 
     value="#{someBean.selectedItems}"> 
    <a4j:ajax event="sourceblur" render="somePanelGroupWithTheButton" /> 
    <a4j:ajax event="targetblur" render="somePanelGroupWithTheButton" /> 
</rich:pickList> 

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

Я также пробовал <a4j:ajax event="additems" /> и <a4j:ajax event="removeitems" />. В этом случае событие запускается только при удалении или добавлении элементов, точно так же, как я хочу. Однако selectedItems не заполняется новым элементом до тех пор, пока не будет запущено событие. Это означает, что я не могу использовать его для повторной визуализации кнопки, так как после добавления первого элемента список будет пустым и будет иметь размер один после добавления второго элемента.

Есть ли событие ajax для прослушивания этого пожара после целевого списка (selectedItems)? (и должен быть полный список поддерживаемых АЯКС событий для этого компонента где-то, верно?)

Я также попытался событие изменения, как это было предложено here, но не уволили.

+0

Вы можете попробовать акции JSF события, может быть, '<е: тип события = "postValidate"/> '? – kolossus

+1

Для справок в будущем список поддерживаемых событий находится в [официальных документах] (http://docs.jboss.org/richfaces/4.3.X/4.3.0.CR1/vdldoc/rich/pickList.html) – Makhiel

+0

Спасибо , добавив к моему ответу. Однако они действительно должны включать такие вещи в загружаемый pdf. – Magnilex

ответ

0

Только что повторил попытку изменения, и внезапно все получилось. Возможно, опечатка от меня, когда я впервые попробовал. Это путь:

<rich:pickList 
     var="item" 
     value="#{someBean.selectedItems}"> 
    <a4j:ajax event="change" render="somePanelGroupWithTheButton" /> 
</rich:pickList> 

Когда событие инициируется и somePanelGroupWithTheButton повторно вынесено, someBean.selectedItems была заселена с правильными деталями.

Это дефект, который был разрешен в 4.3.0.M2: https://issues.jboss.org/browse/RF-12360.

И поддерживаемые события для pickList можно найти здесь: http://docs.jboss.org/richfaces/4.3.X/4.3.0.CR1/vdldoc/rich/pickList.html

0

Попробуйте это:

<rich:pickList 
     var="item" 
     value="#{someBean.selectedItems}"> 
    <a4j:ajax event="transfer" render="somePanelGroupWithTheButton" /> 
</rich:pickList> 
+2

Пожалуйста, не указывайте только ответы на код. Объясните в деталях, что происходит, и почему ваш ответ может решить проблему. – jlindenbaum

Смежные вопросы