URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 7075
[ Назад ]

Исходное сообщение
"jQuery UI Autocomplite"

Отправлено Azudim , 03-Дек-10 21:22 
Подскажите пожалста в чем грабли?
Код который инициирует автокомплит текстовом инпуте:
            $( "#search_name" ).autocomplete({
                source: function( request, response ) {
                    $.ajax({
                        url: "ac.cgi",
                        dataType: "jsonp",
                        data: {
                            type: "ac",
                            data: request.term,
                            group: "stationsr",
                            point: "name"
                        },
                    success: function( data ) {
                            
                            response( $.map( data, function( item ) {
                                return {
                                    label: item.id,
                                    value: item.term
                                }
                            }));
                        }

                    });
                },
                minLength: 2
            });

Возвращается от cgi скрипта (Perl) в JSON формате:
{
   "terms" : [
      {
         "id" : "796",
         "term" : "ВОЛГИНА АКАД. УЛ."
      },
      {
         "id" : "798",
         "term" : "ВОЛГИНА АКАД. УЛ.,29"
      },
      {
         "id" : "799",
         "term" : "ВОЛГИНА АКАД. УЛ.,33"
      }
   ]
}

окно подсказки вообще не показывается.
если в сорсе ставлю простой массив - все работает..


Содержание

Сообщения в этом обсуждении
"jQuery UI Autocomplite"
Отправлено Azudim , 06-Дек-10 12:58 
Грабли были в JSONP, заменил на JSON.
Итог:
---------------------
            $( "#search_name" ).autocomplete({
                source: function( request, response ) {
                    $.ajax({
                        url: "ac.cgi",
                        dataType: "json",
                        data: { type: "ac", data: request.term, group: "stationsr", point: "name",     maxval: 12 },
                        success: function(data)  { response(data.terms); }
                    });
                },
                minLength: 2
            });