2010-09-23 82 views
0
實現一個自動完成實用

沒有針對此目的的內置標籤。我需要使用Struts2的,jQuery插件

用戶在文本框中輸入一個字符,以輸入字符開頭的字符串應顯示在列表的 表單中。 從列表中選擇的項目應填充到文本框中。

P.S:實例和包含輸入的字符演示提供顯示字符串。但我只想顯示那些以輸入字符開頭的字符串 。

回答

1

做到這一點的一種方式顯示在那裏說的pluguin的wiki page:Autocompleter該處理JSON結果。喲只需設置在你的JSP代碼,然後你實現你的操作是這樣的:

private static String[] staticLanguages = { ...a list... };                      
    private String term; 
    private String[] languages = Autocompleter.staticLanguages; 
    public String execute() throws Exception { 
      if (term != null && term.length() > 1) 
      { 
        ArrayList<String> tmp = new ArrayList<String>(); 
        for (int i = 0; i < staticLanguages.length; i++) 
        { 
          if (StringUtils.contains(staticLanguages[i].toLowerCase(), term.toLowerCase())) 
          { 
            tmp.add(staticLanguages[i]); 
          } 
        } 
        languages = tmp.toArray(new String[tmp.size()]); 
      } 
      return SUCCESS; 
    } 

只要改變StringUtils.contains線和檢查,而不是如果開始時是一樣的。

JSP標記是:

<sj:autocompleter 
    name="term" 
    id="languages" 
    href="%{remoteurl}" 
    delay="50" 
    loadMinimumCount="2" 
/> 

我認爲這應該工作。只要看看wiki中的示例代碼並嘗試一下。