У меня есть список автозаполнения, который отображается с использованием p:dataList
.Пример, показанный ниже:
<h:panelGroup layout="block" id="outerPanel">
<p:dataList rendered="#{bean.myModel.listOfItems.size()>0}"
var="additionalMP"
value="#{bean.myModel.listOfItems}"
rowIndexVar="index" emptyMessage="">
<div class="wrapper ui-g">
<div>
<p:autoComplete
cache="true"
value="#{bean.myModel.listOfItems[index]}"
completeMethod ="#{handler.getAutoCompleteData}"
rendered ="true"
required="false"
scrollHeight="200"
styleClass="custom"
forceSelection="true">
<p:ajax event="query" global="false"/>
<f:attribute name="filter" value="filterName" />
<f:attribute name="mode" value="edit" />
</p:autoComplete>
</div>
<div>
<p:commandLink value="+ Add" actionListener="#{bean.addAutoComplete()}"
update=":formName:outerPanel"></p:commandLink>
</div>
</div>
</p:dataList>
</h:panelGroup>
Итак, кнопка Add
вставляет новый элемент в список, и я обновляю панель контейнера, чтобы вновь добавленный элемент мог отображаться в пользовательском интерфейсе.
Как и ожидалось, панель обновлена, и я вижу еще одно автозаполнение в пользовательском интерфейсе.Но проблема в том, что все автозаполнения теперь не работают.то есть они прекращают запускать событие запроса и не дают никаких предложений.
Отредактировано: частичный ответ, который обновляет раздел формы с полями автозаполнения, содержит некоторые теги сценария, которые, вероятно, выполняются на событии готовности / загрузки страницы.,Итак, я знаю, что в основном недавно добавленные виджеты простых лиц не инициализируются.
Есть идеи, как инициализировать добавленные автозаполнения в DOM?