как заставить работать рендеринг элементов с динамическим идентификатором в RichFaces - PullRequest
0 голосов
/ 26 октября 2011

У меня на странице есть следующий код:

    <a4j:repeat value="#{tdController.cu.esaDoutCUConsigment.esaDoutCUDepartureArrivalTransport.transportMeans}" var="transportMean" rowKeyVar="idx">
              <tr>
                <td>
                    <rich:autocomplete id="transportMeansInactiveCountry#{idx}" mode="cachedAjax"
                                       autocompleteMethod="#{countryList.autoComplete}"
                                       minChars="1" layout="grid"
                                       var="country" fetchValue="#{country.code}" width="50px"
                                       inputClass="autoCompleteWidth20"
                                       immediate="true" autofill="true"
                                       value="#{transportMean.country}"
                                       converter="com.enfasis.eced.common.controller.converter.CountryConverterAutoComplete">
                        <h:outputFormat value="{0}({1})">
                            <f:param value="#{country.name}"/>
                            <f:param value="#{country.code}"/>
                        </h:outputFormat>

                        <a4j:ajax event="selectitem" execute="@this"
                                  render="transportMeansInactiveCountryCode#{idx}"/>
                    </rich:autocomplete>
                    <h:outputText id="transportMeansInactiveCountryCode#{idx}"
                                  value="#{transportMean.country.name}" style="margin-left:5px"/>
                </td>
                                    ...
   </a4j:repeat....

в a4j: повторять цикл. Я устанавливаю идентификатор динамически, добавляя индекс строки в конце имени идентификатора, например id = "transportMeansInactiveCountryCode # {idx}".

Но когда я устанавливаю идентификаторы таким образом, повторная визуализация элемента с id = "transportMeansInactiveCountryCode # {idx}" не работает.

Как я могу решить эту проблему?

1 Ответ

0 голосов
/ 24 марта 2012

Я думаю, что вы должны удалить индекс из атрибута ID.Его автоматически генерируется с индексом для вас.

, чтобы проверить это, запустите свою страницу и просмотрите страницу HTML-источника.вы обнаружите, что идентификатор компонента похож на <form_name>-<id>-<index> Примечание: попробуйте заключить свой aj: повторите в сторону a

...