我可以填充数据源的下拉列表,但顶部的搜索字段不会过滤结果。如果我向返回数据的API发送一个AJAX请求,然后循环结果,为每个结果创建一个<option>
元素,并将其附加到父<select>
,然后启动Select2 - 它的工作原理精细。
$("#athletes").select2({
ajax: {
url: myUrl,
type: "GET",
dataType: "json",
processResults: function(data) {
return { results: data.results };
}
}
});
但是,当使用Select2内置ajax函数时,会返回结果,但搜索会被破坏。无论搜索什么,都会返回所有结果。似乎标准过程是向请求添加额外的查询参数,然后在服务器上过滤结果。有没有办法从源中填充下拉列表,然后使用搜索功能,就像它是预先填充的<select>
一样。
答案 0 :(得分:0)
我最终通过添加processResults()
函数来解决问题。通过抓取框中的搜索词,您可以使用JavaScripts filter()
根据搜索词过滤列表。