首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Select2-rails 4.0.3不能触发ajax

Select2-rails 4.0.3不能触发ajax
EN

Stack Overflow用户
提问于 2016-09-17 19:42:00
回答 1查看 594关注 0票数 0

我可以通过脚本中的以下代码成功地获得数组结果

代码语言:javascript
复制
   $.ajax({
      url: "/search",
      dataType: 'json',
      type: "GET",
      data: {
        query: "test",
      },
      success:function(result){
        console.log(result);
      }
    });

但是当我尝试在select2-rails中使用ajax时

代码语言:javascript
复制
$(".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",
});

似乎无法在select2中发出ajax GET请求,因为控制台总是什么都不是。

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

代码语言:javascript
复制
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,
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-01 15:20:57

在脚本内部,当文档准备就绪时,它应该触发选择事件。

代码语言:javascript
复制
$(document).ready(function () { ... }

并使用select元素声明监视元素,如下所示

代码语言:javascript
复制
<select class="select2" multiple="multiple" name="search[item_ids][]"
 id="search_item_ids" />

但不使用隐藏字段

代码语言:javascript
复制
<%= f.hidden_field :item_ids, multiple: "multiple", class: "select2" %>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39550998

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档