jquery自动完成,从文本文件加载
问题描述:
我想加载在我的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×tamp=1296041901116
首先,我不知道为什么它是使每一次新的请求,我想从一个字符串中加载它的点,然后作为数据提供,因此只需要一个请求。其次,我不知道为什么这些后续请求似乎认为文件名是数据!根据我所知道的,自动完成的第一个参数可以是数据,也可以是URL。我猜autocomplete认为我的数据实际上是一个URL。
任何想法我做错了请吗?
答
我已经破解了它。
我正在检索的数据当然只是一个字符串。因此,考虑到它的URL自动完成,并提出新的要求。
我可以把我的JSON字符串与数组:
var data_array = eval(data);