primefaces autocomplete, wenn geräumte Feld geben vorherigen Ergebnisse Seite beim klicken auf submit-button

Bin ich mit einer autocomplete-tag der prime Gesichter, das ruft Ergebnisse aus einer Datenbank.

Das problem ist, dass wenn ich das Formular abschicken verlassen der AutoVervollständigen-Feld leer, werden die Ergebnisse bekomme ich auf der Seite, sind diejenigen, die der vorherigen Anforderung (die zuvor ausgewählten AutoVervollständigen-Wert) - es wird nur gelöscht wenn ich die Seite aktualisieren.

Möchte ich, dass auf jeder Einreichen, ohne eine Aktualisierung der Seite im browser, wenn ich klar den Wert in das Feld mit backspaces und senden Sie das Formular sollte es geben, das richtige Ergebnis für diese spezielle Instanz, nicht Vorherige.

Ich bin auch mit einigen Textfeldern in der jsf-Seite das Formular aber diese haben dieses problem nicht.
Kann mir jemand Hinweise, wie dieses problem behoben werden können?

BEARBEITET:
Code:

<h:form>
  <h:dataTable id="Ressult" value="#{input.searchResults}" var="r">
    <h:column>#{r.ID}</h:column>
    <h:column>#{r.Name}</h:column>
  </h:dataTable>
  <tr>
    <td>Current Education Level</td>
    <td>
      <h:panelGrid styleClass="text-box">
        <p:autoComplete id="education" value="#{input.education}"
        completeMethod="#{input.getautocomplete}" var="a"
        itemLabel="#{a.Name}" itemValue="#{a}"
        converter="edConverter" forceSelection="true" />
        <p:column>#{a.Name} - #{a.id}</p:column>
      </h:panelGrid>
    </td>
  </tr>
  <tr>
    <td>City</td>
    <td>
      <h:selectOneMenu id="txtCity" styleClass="select-field"
      value="#{input.cityId}">
        <f:selectItem itemLabel=" Please Select" itemValue="0">
        </f:selectItem>
        <f:selectItems value="#{input.cities}"></f:selectItems>
      </h:selectOneMenu>
    </td>
  </tr>
  <tr>
    <td>Name of Person</td>
    <td>
      <h:inputText id="txtName" value="#{input.nameOfPerson}"
      styleClass="text-box"></h:inputText>
    </td>
  </tr>
  <h:commandButton id="btnSearch" value="Search"
  action="#{input.searching}">
    <f:ajax execute="@form" render="Ressult"></f:ajax>
  </h:commandButton>
</h:form>  

Und hier ist die bean-code:

public class Input 
{
    private Education education;
    private List<SelectItem> cities;
    private Integer cityId;
    private String nameOfPerson;
    private List<Results> searchResults;
    //getters and setters

    public String searching()
    {
         searchResults=dao.getSearchResults(cityId,education,nameOfPerson);
         return "success";
    }

    public void autocomplete(String query)
    {
        //AUTOCOMPLTE lIST CODE HERE
    }
}

Durch das update, wenn du meinst, die neuen Ergebnisse angezeigt werden soll, wenn neue Elemente ausgewählt, dann ja - das Formular soll aktualisiert werden, aber AutoVervollständigen irgendwie nimmt die vorher ausgewählten Wert und zeigt die Ergebnisse entsprechend. Zumindest bis ich die Seite aktualisieren - nur dann ist Auto-vervollständigen die bisherigen entfernt ist.

  • aktualisieren Sie das Formular ?? und poste bitte code, um weitere Hilfe..
  • plz überprüfen Sie die bearbeitete Frage
InformationsquelleAutor Zay hf | 2012-09-04
Schreibe einen Kommentar