2012-04-17 62 views
0

由默認功能狀況:預填充的jQuery自動完成數據

<script> 
    $(function() { 
     var availableTags = [ 
      "ActionScript", 
      "AppleScript", 
      "Asp", 
      "BASIC", 
      "Scheme" 
     ]; 
     $("#tags").autocomplete({ 
      source: availableTags 
     }); 
    }); 
</script> 

<div class="ui-widget"> 
    <label for="tags">Tags: </label> 
    <input id="tags" /> 
</div> 

我想知道如何通過從Java,而不是手動鍵入出每個標籤的String數組預填充availabletags?所以,當我輸入時,它提示了一系列事物。

+0

自從我研究過Java,Mike已經有一段時間了,但我相信這個概念是你應該構建數組並將其打印回標記右側,其中'availableTags'就是它的位置(或者它被定義的位置,相當)。然後,當頁面建立時,JavaScript應該有它所需要的。查看源代碼以確定它是否成功。 – veeTrain 2012-04-17 11:56:32

+0

@veeTrain本應該是一個答案,而不是 – Joseph 2012-04-17 11:59:02

+0

邁克,你有沒有通過其中一個答案找到你的解決方案,或者你的問題仍然沒有解決? – veeTrain 2012-04-18 17:51:58

回答

0

我相信這個概念是你應該建立數組並將其回顯/打印到你的標記中,其中availableTags是(或者它被定義的地方)。然後,當頁面建立時,JavaScript應該有它所需要的。

查看源代碼以確定它是否成功。

var availableTags = [ /* output a comma-separated and quoted list */ ]; 

對不起,我不確定語法,但我相信這是你應該採取的方法。

編輯:這個anonymous person認爲你可能需要使用javascript eval()才能使它適合JavaScript。 (但它在下面的評論中被勸阻)

編輯:這裏是another Stack Overflow post問一個類似的問題,可能會幫助你。和another

This也似乎是可以幫助你的東西。

+0

不需要使用eval(),eval是邪惡的。 – primavera133 2012-04-17 14:00:32

0

將javascript寫入選擇的模板文件(JSP,Freemarker等)。

或者只是在模板文件中寫入availableTags變量,如果您想要將其餘的javascript保留在外部文件中。確保正確命名空間,而不是污染全局命名空間。