2011-03-23 39 views
1

我正在使用一個簡單的jQuery自動完成腳本來搜索文本字段中的大學。這個相同的腳本在另一頁上工作。在問題的頁面上,雖然我用ajax調用檢索表單,但它不工作。我忘記了什麼,或者是否存在將自動完成事件綁定到DOM中的問題?jQuery的元素檢索自動完成w/ajax

AJAX標記:

<input type="text" class="alumni" name="alumni0" id="alumni0" value="Academy College"> 

腳本:

<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/jquery-ui.min.js" type="text/javascript"></script> 
    <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/themes/base/jquery-ui.css" type="text/css" media="all" rel="stylesheet" /> 
    <script type="text/javascript" language="javascript"> 
     var availableTags; 
     $(function() { 
      availableTags = ["A T Still University of Health Sciences", ... ,"Abilene Christian University"]; 
      $(".alumni").autocomplete({ 
       source: availableTags 
      }); 
     }); 
    </script> 
+0

你是否通過ajax獲得輸入字段作爲字符串? – Dalen 2011-03-23 16:21:35

回答

1

嘗試重新綁定自動完成事件,當你添加新的形式向DOM。由於自動完成不附帶jquery live函數,您的新元素不會附加事件,所以很可能發生了什麼。

+0

是有道理的..你有快速回答如何去做? – doub1ejack 2011-03-23 16:20:58

+0

剛剛添加新元素後,只需重複「$(」。alumni「)。autocomplete({source:availableTags});});」part。您不需要重新定義availableTags(因爲它已經存在)(只要您不重新加載頁面)。可能會有更好的解決方案,但這正是我通常所做的。 – scrappedcola 2011-03-23 16:28:41

+0

美麗!我特別喜歡ajax-y的東西第一次工作 - 這是一種很好的感覺!謝謝。 – doub1ejack 2011-03-23 16:36:41