问题描述
我需要使用多选选项实现自动完成功能。多选应包含复选框。此外,由于数据量很大,延迟加载应该是可能的。 当前使用 select2 js,但面临与 Rails 的兼容性问题。 共享当前代码。
版本:Rails 6.0.3.4、Ruby 2.7.2、Select2 4.0.7
当前使用的代码:
Javascript 代码
$('#input_field').select2({
placeholder: 'search',minimumInputLength: 3,width: '100%',multiple: true,query: function(q) {
var pageSize,results,that = this;
pageSize = 20; // or whatever pagesize
results = [];
if (q.term && q.term !== '') {
results = _.filter(that.data,function(e) {
return e.text.toupperCase().indexOf(q.term.toupperCase()) >= 0;
});
} else if (q.term === '') {
results = that.data;
}
q.callback({
results: results.slice((q.page - 1) * pageSize,q.page * pageSize),more: results.length >= q.page * pageSize,});
},data: #{@data_list.to_json}
});
数据列表
@data_list = [{ "id": 1,"text": "Text 1"},{"id": 2,"text": "Text 2"},"text": "Text 3"}]
查看代码
%input#input_field{:placeholder => "Please select one or more names here",:style => "width:100%;",:name => "keyword",:required => true}/
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)