自動完成功能使用ajax:autocomplete,這個標籤有如下幾個屬性:
var:這是一個可選屬性,該屬性定義了autocomplete標籤建立的JavaScript對象名。通常無須指定該屬性。
attachTo:這是一個可選屬性,該屬性定義了var對應的自動完成對象將應用到的對象。
baseUrl:這是一個必需屬性,該屬性定義了Ajax請求發送的URL。該屬性指定的URL將返回一個典型的AjaxTags所需要的XML響應,響應的每個item節點的name值就是自動 完成的提供給使用者選擇的一項。該屬性支援運算式語言。
source:這是一個必需屬性,該屬性指定的HTML元素的值一旦發生改變,就將發送Ajax請求。通常,該屬性的文本將作為自動完成的首碼部分,即source元素指定的HTML元素裡的文本將被作為請求參數,伴隨著Ajax請求一同發送,一旦該請求參數發送到伺服器的baseUrl,baseUrl處的伺服器響應將返回一個滿足條件的XML響應。當然,也可以指定其他請求參數。
target:這是一個必需屬性,該屬性指定一個文字框,該文字框將顯示自動完成的選擇項對應的value。如果使用者無須使用額外的文字框來顯示value,則可將該參數設定為與source相同。
parameters:這是一個必需屬性,該屬性指定了Ajax請求的請求參數。
className:這是一個必需屬性,該屬性指定了自動完成所提供的下拉框的CSS樣式單的名字。通常,系統提供該CSS樣式單,但使用者也可以自訂自己的 CSS樣式單。
indicator:這是一個可選屬性,該屬性指定一個HTML元素,該元素在Ajax請求開始時出現,隨著Ajax互動完成而隱藏。該元素可以通知使用者Ajax互動的進度。
minimumCharacters:這是一個可選屬性,該屬性指定自動完成最少所需的字元數。假設source指定一個文字框,如果minimumCharacters的屬性值為2,則至少要求source指定的文字框提供兩個字元的輸入,系統才會提供自動完成功能。
appendSeparator:這是一個可選屬性,一旦設定了該屬性,target屬性指定的文字框的值就不會被覆蓋,而是在後面添加上自動完成的value節點的值,添加時將以appendSeparator屬性指定的字串作為分隔字元。
preFunction:這是一個可選屬性,該屬性指定了Ajax互動之前自動執行的函數。
postFunction:這是一個可選屬性,該屬性指定了Ajax互動完成後自動執行的函數。
errorFunction:這是一個可選屬性,該屬性指定伺服器響應出錯時執行的函數。
parser:這是一個可選屬性,該屬性指定一個伺服器響應的解析器,通常無須指定該解析器,除非使用者需要自己完成特別的工作。預設的解析器是ResponseHtmlParser。