автозаполнение не показывает результат передачи пользовательских значений - PullRequest
0 голосов
/ 16 февраля 2012

Я пытаюсь передать пользовательские значения для автозаполнения, поэтому:

мое пользовательское значение работы основано на этот вопрос

с помощьюисточник по умолчанию, такой как документы:

    $("#inpPesqCli").autocomplete({
        source: "ajax/search.php",
        minLength: 2,
        autoFocus: true
    });

firebug возвращает это (пример):

[...
  { "id": "29083", "label": "SOME ONE 2", "value": "SOMEONE WITH LELE" },

  { "id": "19905", "label": "SOME ONE", "value": "SOMEONE WITH LALA"},
...]

работа идеальна, результаты отображаются.


, когда я пытаюсьчтобы установить некоторые пользовательские значения:

$("#inpPesqCli").autocomplete({
    source: function( request, response ) {
        $.ajax({
            url: "ajax/search.php",
            dataType: "jsonp",
            data: {
                featureClass: "P",
                style: "full",
                maxRows: 12,
                name_startsWith: request.term
            },
            success: function( data ) {
                response( $.map( data.geonames, function( item ) {
                    return {
                        label: item.name + (item.adminName1 ? ", " + item.adminName1 : "") + ", " + item.countryName,
                        value: item.name
                    }
                }));
            }
        });
    },
    minLength: 2,
    autoFocus: true
});

Firebug возвращает мне тот же результат массива:

  [...
  { "id": "29083", "label": "SOME ONE 2", "value": "SOMEONE WITH LELE" },

  { "id": "19905", "label": "SOME ONE", "value": "SOMEONE WITH LALA"},
  ...]

, но проблема в том, что когда я передаю пользовательские значения, отображается результат результата.

php:

$type = "C";
$q = strtolower($_GET["name_startsWith"]); // this i change: custom = name_startsWith / default = term

if (!$q) return;

$res = $p->SomeClass($codemp,$q,$type);

$items = array();
while(!$res->EOF){
    $items[$res->fields["NOMCLI"]]  = $res->fields["CODCLI"];
    $res->MoveNext();
}
   // below this, i have the php autocomplete default function, if u need, ask then i post.

Не знаю, чего мне не хватает.

1 Ответ

0 голосов
/ 16 февраля 2012

set ajax type = GET, может работать, по умолчанию тип отправки данных POST

    $("#inpPesqCli").autocomplete({
    source: function( request, response ) {
        $.ajax({
            url: "ajax/search.php",
            dataType: "jsonp",
            type : "GET",
            data: {
                featureClass: "P",
                style: "full",
                maxRows: 12,
                name_startsWith: request.term
            },
            success: function( data ) {
                response( $.map( data.geonames, function( item ) {
                    return {
                        label: item.name + (item.adminName1 ? ", " + item.adminName1 : "") + ", " + item.countryName,
                        value: item.name
                    }
                }));
            }
        });
    },
    minLength: 2,
    autoFocus: true
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...