1

リリース バージョン (4.0.1 を選択)

HTML

<select id="search_customers" style="width: 300px;"></select>

Javascript:

$("#search_customers").select2({
  multiple: false,
  allowClear: true,
  ajax: {
    url: "@Url.Action("
    SearchCustomers ", "
    Home ")",
    dataType: 'json',
    delay: 250,
    data: function(params) {
      return {
        id: params.term, // search term
      };
    },
    processResults: function(data, params) {
      return {
        results: data
      } // Data is a List<T> of id an text
    },
  }
});

ドロップダウンは機能し、レコードを表示できますが、オプションの 1 つをクリックするとボックスが閉じ、選択したレコードが表示されません。私の箱はこんな感じ

捕獲

考えられることはすべて試しました。この問題はすべてのブラウザで発生します。返されるデータは、id/text ペアのリストです。

コントローラーコード

var customers = this.service.SearchCustomers(id).Select(x => new { id = x.CustomerID, text = x.CustomerName }).ToList();

return Json(customers, JsonRequestBehavior.AllowGet);
4

1 に答える 1

0

何らかの理由で、顧客 ID の先頭にスペースがありました。(古いERPシステム)、顧客IDのselectステートメントに.Trim()呼び出しを追加すると修正されました。どうやら select2 は " 56" が好きではないようですが、 "56" は問題ありません!

于 2016-03-04T21:48:53.667 に答える