JSF2.0 + RichFaces3.3.3 предположенияBox внутри модальной панели - PullRequest
0 голосов
/ 30 июля 2010

Следуя этому примеру http://livedemo.exadel.com/richfaces-demo/richfaces/dataTable.jsf?tab=editDataTable&cid=101317 Я создал модальную панель, используемую для редактирования записи.Разница в том, что в одном из моих полей inputText есть поле с предложением:

<h:inputText id="entryName" value="#{controller.currentItem.name}" validator="#{controller.entryNameValidator}"/>
<rich:suggestionbox id="suggestionBoxId" for="entryName" suggestionAction="#{controller.autocomplete}" var="result">
    <h:column>
        <h:outputText value="#{result.name}" />
    </h:column>
</rich:suggestionbox>
<rich:message for="entryName"/>

Проблема в том, что когда появляется модальное значение, а я изменяю одну букву в "entryName", предложение возникает, но когда ононе находит предложений, он возвращает измененное значение (значение без буквы, которую я только что удалил) в исходное значение (значение перед удалением).Если, с другой стороны, он находит некоторые предложения, он все равно возвращает значение к старому, но также печатает предложения в модальной форме прямо под «entryName» (а не в поле для предложений, это просто серый текст).Также предложение срабатывает только один раз.Если я позволю сказать «hello» на «hell», он вернется к «hello», и в следующий раз, когда я попытаюсь изменить его на «hell», ничего не произойдет.

Что я делаю не так?О, также я использую тот же самый код в моем представлении jsf при добавлении записей (хотя это не модальное, а просто таблица), и он отлично работает.

@ Edit: очевидно, заключая его в "a4j": region "немного помогает, так как, по крайней мере, я могу видеть окно с предложением (но на заднем плане, поэтому я должен установить zindex) и в левом углу браузера не ниже" entryName "И все же я могуЕсли щелкнуть по нему (он просто сидит и не исчезает даже после закрытия модального окна), предложения по-прежнему печатаются под inputText (не в блоке предположений и не в сером цвете), и они по-прежнему активируются только один раз ...

1 Ответ

0 голосов
/ 31 июля 2010

попробуйте изменить следующие вещи согласно вашему требованию.

enter code here <h:panelGrid columns="2" cellpadding="0" cellspacing="0">
                                <h:inputText id="input"  size="30"/>
                                <h:graphicImage   value="#{facesContext.externalContext.requestContextPath}/../images/arrow.png"
                                                  onclick="#{rich:component('equity')}.callSuggestion(true)"
                                                  alt="click" />
                            </h:panelGrid>
                            <rich:suggestionbox width="200" 
                                                suggestionAction="#{StockMasterServiceBean.suggest}" var="stock" id="equity" for="input">
                                <h:column>
                                    <h:outputText value="#{stock.symbolId}"/>
                                </h:column>
                                <h:column>
                                    <h:outputText value="#{stock.companyName}" />
                                </h:column>
                                <a4j:support ajaxSingle="true" event="onselect" reRender="abc,xyz">
                                    <f:setPropertyActionListener value="#{stock}" target="#{StockMasterServiceBean.selectedStockMaster}"/>
                                </a4j:support>
                            </rich:suggestionbox>
...