Select2-rails 4.0.3不能触发ajax



我可以通过在脚本

中使用以下代码成功获得数组结果
   $.ajax({
      url: "/search",
      dataType: 'json',
      type: "GET",
      data: {
        query: "test",
      },
      success:function(result){
        console.log(result);
      }
    });

但是当我尝试在select2-rails

中使用ajax时
$(".select2").select2({
  ajax: {
    url: "/search",
    dataType: 'json',
    type: "GET",
    delay: 250,
    data: { query: "test" },
    processResults: function (data) {
      console.log(data);
      return {
        results: data.results,
      };
    },
    cache: true
  },
  theme: "bootstrap",
  escapeMarkup: function (markup) { return markup; }, 
  multiple: true,
  templateResult: TemplateResult,
  templateSelection: TemplateSelection,
  placeholder: "Type to search",
});

它似乎不能使ajax GET请求内的select2,因为控制台总是什么都没有。

select2在包含资产部分应该没有问题,因为当我使用预定义数据时,它像魅力一样工作

var data = [{ id: 0, name: 0 }, { id: 1, name: 1 }];
$(".select2").select2({
  data: data,
  theme: "bootstrap",
  escapeMarkup: function (markup) { return markup; }, 
  multiple: true,
  templateResult: TemplateResult,
  templateSelection: TemplateSelection,
});

在脚本中,它应该在文档准备好时触发select事件

$(document).ready(function () { ... }
并使用select element声明监视元素,如下所示
<select class="select2" multiple="multiple" name="search[item_ids][]"
 id="search_item_ids" />

但不使用隐藏字段

<%= f.hidden_field :item_ids, multiple: "multiple", class: "select2" %>

相关内容

  • 没有找到相关文章

最新更新