2

jquery uiオートコンプリート機能をajaxデータソースで使用しようとしていますが、コードの何が問題になっているのかわかりません。

これが私のコードです

$(document).ready(function () {

        var data = new Portalen.LitteraNumberData();

        $("#LitteraNumber").autocomplete({
            minLength: 1,
            source : function (request, response) {
                var customerId = $("#CustomerId").val();
                return response(data.loadLitteraNumbers(customerId));
            }
        });
    });

そしてjsファイルで私はこれを持っています:

Portalen.LitteraNumberData = function () { };

Portalen.LitteraNumberData.prototype = function() {

var loadLitteraNumbers = function(customerId) {
    $.get("/Orders/GetLitteraNumbers", { customerId: customerId }, function (response) {
        return response;
    });
};

return {
    loadLitteraNumbers: loadLitteraNumbers
};
}(); 

ajax呼び出しは機能しています。正しい応答が得られますが、オートコンプリート機能は実行されません。LitteraNumberDataは間違ったものを返していますか?すべての提案をいただければ幸いです。

4

1 に答える 1

3

これを試して:

$(document).ready(function () {
    var data = new Portalen.LitteraNumberData();
    $("#LitteraNumber").autocomplete({
        minLength: 1,
        source : function (request, response) {
            $.get("/Orders/GetLitteraNumbers", { customerId: request.term }, function (data) {
                response(data);
            });
        }
    });
});

に置き換えまし$("#CustomerId").val()request.term。さらに、関数は応答を返す必要はありません。

この$.get関数は非同期であるため、他の場所に配置することはできません。

于 2012-10-18T15:43:59.187 に答える