can't select json-results on select2
can't select json-results on select2
有这样的JS
$(".select2-input").select2({
placeholder: placeholder,
id: function(data){return data.id},
ajax: {
url: "/autocomplete",
datatype: 'json',
data: function (params) {
return {
q: params.term, // search term
page: params.page
};
},
results: function (data) {
return {
results: data.results
};
},
cache: true,
id: function(connection){
console.log(connection);
}
}
});
和"/autocomplete" URL的结果如下:
{"results":[{"id":14953,"text":"Dohn Doe"},{"id":15467,"text":"Jane Dohe"}]}
有了这些,我可以看到自动完成的结果,但点击任何结果不会导致任何变化!
所以我一直在努力实现这个问题的答案,但没有运气。可能是我错过/弄乱了什么。
还有这一行
console.log(connection);
不向控制台写入任何内容。
选择版本为4.0
好了,看来我找到问题了。首先需要说明的是,4.0版本的select2不支持我上面提到的id
选项。这是从文档中摘录来证明的:
Select2不再支持要使用的自定义id或文本,但提供了将不正确的数据转换为预期格式的集成点。
所以问题不在我提供的代码中(除了dataType
类型,感谢Dave Newton!),而是在我没有提供的代码中。这里有
input :person, as: :text, input_html: { class: "select2-input", "data-placeholder" => person }
-注意as: :text
部分
input :person, as: :select, input_html: { class: "select2-input", "data-placeholder" => person }
一切都很顺利!我还是不知道是什么驱使我把它改成text type而不是select
相关文章:
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- jQuery匹配JSON对象的部分文本
- 如何使用onLoad加载jQuery JSON.从Zipcode On Form获取城市和州
- Ruby on Rails 在 js.erb 中渲染 json
- javascript foreach on array / json data 但按最新日期排序
- reverse() on json obj array
- Angularjs on JSON data
- AngularJS - jSON on date 顯示某些 ID
- Angular JS:Http:get on JSON 由本地 API 创建
- 使用push-on-item值合并两个json数组
- Ruby on Rails, json vs js ajax response
- can't select json-results on select2
- Iteration on JSON of JSON
- 我有一个流星应用程序,需要从/public/_assets/results/mmresults读取数据.Json文件,在
- 使用AJAX从Ruby on Rails服务器获取JSON内容
- Paging JSON results with Php & Ajax
- Ruby on rails -如何通过javascript传递解析json值
- Ruby on rails - 将有效的 json 发送到 html erb 模板中的 JavaScript
- 如何在ruby on rails和Javascript中为现有的JSON对象添加另一个值
- 动态构建JSON变量从HTML5移动发送到Ruby on Rails控制器