0

select 2 バージョン 4.0.2 を使用しており、ajax 経由でリモート データを検索するための select を作成しました。

私はデータを正常に取得していますが、結果がレンダリングされると、aria-selected 属性が追加されていないため、オプションを選択できません。

templateResult と templateSelection に関係しているのではないかと思いますが、何を変更する必要があるのか​​ わかりません。

Jクエリ:

$("#select2").select2({
  theme: "bootstrap",
  ajax: {
    url: "/search/games",
    dataType: 'json',
    delay: 250,
    data: function (params) {
      return {
        q: params.term, // search term
        type: "suggest"
      };
    },
    processResults: function (data, params) {
      return {
        results: data.games,
      };
    },
    cache: true
  },
  escapeMarkup: function (markup) { return markup; },
  minimumInputLength: 3,
  templateResult: formatResult,
  templateSelection: formatSelection
});

function formatResult(game) {
  markup = "<p>" + game.name + "</p>";
  return markup;
};

function formatSelection(game) {
  markup = "<p>" + game.name + "</p>";
  return markup;
}

形:

= form_for [:member,@event], :html => {:class => "formtastic form-horizontal"} do |f|
  %fieldset
    %div{:class => "control-group"}
      = f.label :game_id, :class => "control-label"
      %div{:class => "controls"}
        = f.select :game_id, "", {}, :class => "form-control"
4

1 に答える 1