2011-01-26 44 views
1

我想加載在我的jquery自動完成數據從文本文件,以減少頁面加載大小。我想:jquery自動完成,從文本文件加載

<script type="text/javascript"> 
    $(document).ready(function(){ 
      var practitioner_data = new Array(); 
      $.get("/live_practitioners.txt", { }, 
      function(data){ 
       var data_array = new Array(); 
       data_array = data; 
       $("#search_therapist_name").autocomplete(data_array, {minChars: 1, matchContains: true, mustMatch: true, selectFirst: false, formatItem: function(item) { return item.text; } }).result(function(event, item) { document[\'' . $str_form_name . '\'].counsellor_id.value=item.counsellor_id; }); 
      }); 
    }); 
</script> 

螢火蟲顯示我的第一請求txt文件,數據看起來正確的格式:

[{text:'Dr. Tania Abdulezer', counsellor_id:'877'}, {text:'Helen Acton', counsellor_id:'712'}] 

然而,當我開始輸入到文本框中,Firebug是我展示一個請求而作出,對於每一個新的字母輸入,去:

http://rscpplocal/%5B%7Btext:%27Dr.%20Tania%20Abdulezer%27,%20counsellor_id:%27877%27%7D,%20%7Btext:%27Helen%20Acton%27,%20counsellor_id:%27712%27%7D%5D?q=r&limit=10&timestamp=1296041901116 

首先,我不知道爲什麼它是使每一次新的請求,我想從一個字符串中加載它的點,然後作爲數據提供,因此只需要一個請求。其次,我不知道爲什麼這些後續請求似乎認爲文件名是數據!根據我所知道的,自動完成的第一個參數可以是數據,也可以是URL。我猜autocomplete認爲我的數據實際上是一個URL。

任何想法我做錯了請嗎?

回答

1

我已經破解了它。

我正在檢索的數據當然只是一個字符串。因此,考慮到它的URL自動完成,並提出新的要求。

我可以把我的JSON字符串與數組:

var data_array = eval(data);