即使使用远程数据源,如何使用Select2使用默认搜索?

时间:2018-05-30 23:30:31

标签: javascript ajax jquery-select2 jquery-select2-4

我可以填充数据源的下拉列表,但顶部的搜索字段不会过滤结果。如果我向返回数据的API发送一个AJAX请求,然后循环结果,为每个结果创建一个<option>元素,并将其附加到父<select>,然后启动Select2 - 它的工作原理精细。

$("#athletes").select2({
  ajax: {
    url: myUrl,
    type: "GET",
    dataType: "json",
    processResults: function(data) {
      return { results: data.results };
    }
  }
});

但是,当使用Select2内置ajax函数时,会返回结果,但搜索会被破坏。无论搜索什么,都会返回所有结果。似乎标准过程是向请求添加额外的查询参数,然后在服务器上过滤结果。有没有办法从源中填充下拉列表,然后使用搜索功能,就像它是预先填充的<select>一样。

1 个答案:

答案 0 :(得分:0)

我最终通过添加processResults()函数来解决问题。通过抓取框中的搜索词,您可以使用JavaScripts filter()根据搜索词过滤列表。