2011-10-05 75 views
1

我想在隱藏的div內的文本字段上使用jQuery的自動完成功能。雖然輸入字段獲得了ui-autocomplete輸入類,但它似乎不起作用。這就像任何事件都不受我的意見。如何在隱藏的輸入字段上使用jQuery.autocomplete(type =「text」)?

只要是明確的,代碼如下:

<a href="#overlay" class="open-the-overlay-that-has-the-id-like-this-href-attribute">OPEN</a> 

<div id="overlay" style="display:none"> 
    <form action="/action" method="post"> 
     <input type="text" id="my-unique-id" /> 
     <input type="submit" /> 
    </form> 
</div> 

<script type="text/javascript"> 
$(document).ready(function(){ 

    $("#my-unique-id").autocomplete({ 
     source: "search.php", 
     minLength: 2 
    }); 

}); 
</script> 

在此之後,#我的唯一-ID漲幅UI的自動完成輸入級,但沒有必然的事件。 任何想法?

這裏是服務器端腳本,但它是沒有錯的,因爲在另一場正常工作:

(CakePHP的)

function getCity() { 

    $this->layout = FALSE; 
    $this->autoRender = FALSE; 
    Configure::write("debug",0); 

    if(isset($_GET["term"]) && !empty($_GET["term"])) { 
     AppModel::unbind($this->City); 
     preg_match_all("/(\w+)/",urldecode($_GET["term"]), $term); 
     $or = array(); 
     foreach ($term[0] as $t) { 
      if(strtolower($t) != "jud") 
      $or[] = "City.name LIKE '%$t%'"; // OR City.county LIKE '%$t%' 
     } 
     $or = implode(" OR ", $or); 
     $cities = $this->City->find("all", array("limit"=>30, "fields"=>array("City.id", "City.name", "City.county"),"conditions"=>array($or))); 
     $returnArray = array(); 
     $k = 0; 
     foreach($cities as $c) { 
      $returnArray[$k]['id'] = $c["City"]["id"]; 
      $returnArray[$k]['label'] = $c["City"]["name"].", jud. ".$c["City"]["county"]; 
      $returnArray[$k]['value'] = $c["City"]["name"].", jud. ".$c["City"]["county"]; 
      $k++; 
     } 
     return json_encode($returnArray); 
    } 
} 

回答

0

你的代碼是正確的,什麼可能是錯誤的是你的服務器端腳本沒有返回數據,所以它看起來像什麼都沒有發生。你可以發佈你的服務器端腳本嗎?

您也可以嘗試與本地數據源:

var availableTags = [ 
     "ActionScript", 
     "AppleScript", 
     "Asp", 
     "BASIC", 
     "C", 
     "C++", 
     "Clojure", 
     "COBOL", 
     "ColdFusion", 
     "Erlang", 
     "Fortran", 
     "Groovy", 
     "Haskell", 
     "Java", 
     "JavaScript", 
     "Lisp", 
     "Perl", 
     "PHP", 
     "Python", 
     "Ruby", 
     "Scala", 
     "Scheme" 
    ]; 

$("#my-unique-id").autocomplete({ 
     source: availableTags , 
     minLength: 2 
    }); 
+0

服務器端工作正常。無法使用本地數據源,因爲我在數據庫中有大約14000個條目。所以這不是一個選擇! –

+0

@Lucian - 我認爲尼古拉意味着你使用本地數據源來測試自動完成功能... –

+0

@ElRonnoco - 同樣的問題 –

相關問題