0

オートコンプリートを機能させるのに問題があります。

オートコンプリートボックスに複数の結果が表示されていますが、DISTINCTの問題とは関係ありません。

例:オートコンプリートで2つの可能なオプションが表示されている場合、オートコンプリートボックスに結果が2回表示されます。つまり、肺、肝臓、肺、肝臓の順に表示されます。可能なオートコンプリートオプションが3つある場合は、結果リストが3回繰り返されます。

Firebugでは、正しいJsonが返されていることがわかりますが、結果は複製されません。

これがスクリーングラブです:

誰かが問題が何であるか知っていますか?

よろしくメルト

$(document).ready(function () {

$('#search').autocomplete({
    source: function (request, response) {
        $.ajax({
            url: '/home/GetSR',
            type: 'GET',
            cache: false,
            contentType: "application/json; charset=utf-8",
            data: { term: request.term },
            dataType: 'json',
            success: function (json) {

                response($.map(json, function (label, value) {
                    return json;

                }));

            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                alert('error - ' + textStatus);
               // console.log('error', textStatus, errorThrown);
            }
        });
    },
    minLength: 2,
    select: function (event, ui) {

       //  alert('you have selected ' + ui.item.label + ' ID: ' + ui.item.value);
          $('#search').val(ui.item.label);

        // save the auto complete value id to be used later
        setACValue(ui.item.value); 

        return false;
    }
})

});

4

1 に答える 1

0
success: function (json) {
                response($.map(json, function (label, value) {
                    return json;
                }));
            },

する必要があります:

success: function (json) {
                response($.map(json, function (label, value) {
                    return value;
                }));
            },

JSON要素配列の要素を処理するたびに、その1つの要素の値を返すだけでなく、JSON配列全体を返します。つまり$.map、2次元配列を返しています。

または、次のようにすることもできます。

success: function (json) {
                response(json);
            },
于 2012-10-29T23:58:38.447 に答える