Я динамически добавляю h:selectOneMenu
на страницу. Но метод для f:ajax
не вызывается для selectItems, но он работает, если h:selectOneMenu
был добавлен на страницу с самого начала (динамически не добавлен с использованием атрибута update
). Мой код выглядит следующим образом:f: прослушиватель ajax терпит неудачу в динамически добавленном h: selectOneMenu
(Исправленная после @ предложение Даниэля)
<h:commandButton value="Watch">
<f:ajax render="deptsSelBox"/>
<f:setPropertyActionListener value="#{true}" target="#{listRetriever.allow}" />
</h:commandButton>
<h:panelGroup id="deptsSelBox">
<h:selectOneMenu id="deptsSel" rendered="#{listRetriever.allow}" value="#{listRetriever.reqId}">
<f:selectItems value="#{listRetriever.list}" />
<f:ajax listener="#{listRetriever.retrieve()}" execute="deptsSel" />
</h:selectOneMenu>
</h:panelGroup>
Да были правильными Я использовал простые шрифты, однако даже после исправления f: ajax (2nd one) все еще не выполняется для динамически добавлен 'h: selectOneMenu'. Обратите внимание, что 'h: selectOneMenu' успешно добавлен на страницу, однако f: ajax еще не работает для selectItems. –
обновил мой ответ, также опубликовать ваш код получения –
Daniel
Что касается вашего предложения по выбору 'f: ajax', я не могу обновить' deptsSelBox' снова, поскольку компонент больше не доступен, он был просто запрошен в области и был удален после того, как был выбран selectOneMenu. Кстати, почему мне нужно обновить 'deptSelBox' снова?? –