0

ビューでいくつかの jQuery オートコンプリート関数を使用して、CustomerName と CustomerID を取得しています。

$(document).ready(function () {
    $('#CustomerByName').autocomplete({
        source: function (request, response) {
            $.ajax({
                url: "/Cases/FindByName",
                type: "GET",
                dataType: "json",
                data: {
                    searchText: request.term,
                    maxResults: 10
                },
                contentType: "application/json; charset=utf-8",
                success: function (data) {
                    response($.map(data, function (item) {
                        return {
                            label: item.CustomerName,
                            value: item.CustomerName,
                            id: item.CustomerID
                        }
                    }));
                }
            });
        },
        minLength: 1,
        select: function (event, ui) {
            $('#CustomerID').val(ui.item.id);
        },
    });
});

成功の応答で、ラベル、値、ID が得られます。json データで返される他のフィールドにアクセスする方法はありますか? この場合、テーブル全体が json として返されます。

ありがとう

4

1 に答える 1

2

成功関数を変更して、selectegで使用する追加のフィールドを含めます。

success: function (data) {
              response($.map(data, function (item) {
                  return {
                      label: item.CustomerName,
                      value: item.CustomerName,
                      id: item.CustomerID,
                      // extra fields go here
                      address: item.CustomerAddress
                  }
              }));
          }

次に、次のような選択関数でそれらにアクセスできます。

select: function (event, ui) {
    $('#CustomerID').val(ui.item.id);
    alert('CustomerAddress is ' + ui.item.address);
},
于 2012-06-24T21:48:20.710 に答える