автозаполнение jquery, загрузка из текстового файла - PullRequest
1 голос
/ 26 января 2011

Я пытаюсь загрузить в свой 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>

Firebug показывает мне первый запрос к текстовому файлу, и данные выглядят правильно отформатированными:

[{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.Я полагаю, что автозаполнение думает, что мои данные на самом деле являются URL.

Есть идеи, что я делаю неправильно, пожалуйста?

1 Ответ

1 голос
/ 26 января 2011

Я взломал его.

Данные, которые я получал, были, конечно, только строкой.Следовательно, автозаполнение, учитывая его URL, и создание нового запроса.

Я могу превратить мою строку JSON в массив с:

var data_array = eval(data);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...