rich:suggestionbox提交部分字符串

时间:2011-02-22 09:35:24

标签: jsf richfaces

我使用jsf 1.2,richfaces 3.3.2。 出于某种原因,我的建议箱提交了我输入的值(a.k.a建议字符串),而不是我在打开的建议列表中点击的内容。我该如何解决这个问题?

                    <h:panelGroup>
                        <a4j:region renderRegionOnly="false" >
                            <h:panelGrid columns="2" border="0" cellpadding="0" cellspacing="0">
                                <h:inputText value="#{ManualReportControl.street}" id="streetNames" style="width:120px;" >
                                    <a4j:support event="onchange" reRender="streetGis" ></a4j:support>
                                </h:inputText>
                                <h:graphicImage value="/images/icons/arrow.png"
                                    onclick="#{rich:component('suggestionBoxStreet')}.callSuggestion(true)"
                                    alt="" />
                            </h:panelGrid>
                            <rich:suggestionbox id="suggestionBoxStreet" for="streetNames" 
                                suggestionAction="#{ManualReportControl.autocomplete}" 
                                var="street"
                                minChars="2" >
                                <h:column>
                                    <h:outputText value="#{street}" />
                                </h:column>
                            </rich:suggestionbox>
                        </a4j:region>
                    </h:panelGroup>

2 个答案:

答案 0 :(得分:3)

知道了! 我移动了a4j:从inputText到suggestionBox的支持,现在它可以工作了。 代码:

                    <h:panelGroup id="streetNames">
                        <a4j:region renderRegionOnly="false" >
                            <h:panelGrid columns="3" border="0" cellpadding="0" cellspacing="0">
                                <coral:inputString value="#{ManualReportControl.street}" id="streetName" style="width:120px;" tabindexreal="13"/>
                                <h:graphicImage value="/images/icons/arrow.png"
                                    onclick="#{rich:component('suggestionBoxStreet')}.callSuggestion(true)"
                                    alt="" />
                            </h:panelGrid>
                            <rich:suggestionbox id="suggestionBoxStreet" for="streetName" 
                                suggestionAction="#{ManualReportControl.autocomplete}" 
                                var="street"
                                minChars="2" selfRendered="true" >
                                <h:column>
                                    <h:outputText value="#{street}" />
                                </h:column>
                                <a4j:support event="onselect" reRender="streetGis" ></a4j:support>
                            </rich:suggestionbox>
                        </a4j:region>
                    </h:panelGroup> 

答案 1 :(得分:1)

可能发生,因为onchange事件在选择之前被触发。