【发布时间】:2015-09-21 14:14:25
【问题描述】:
拥有类似的 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"}]}
通过所有这些,我可以看到自动完成结果,但点击任何结果都不会导致任何变化!
所以我一直在尝试实现来自this question 的答案,但没有运气。可能我只是错过/弄乱了一些东西。
还有这一行
console.log(connection);
不向控制台写入任何内容。
Select2 版本为 4.0
【问题讨论】:
-
你不需要实现
id,因为你有一个id。你在哪里定义placeholder? JS控制台有错误吗? -
placeholder在上面定义,假设为placeholder = 'abc';。而且我这里没有任何 JS 错误:( -
如果不出意外,
datatype应该是dataType(大写 T)。如果您的结果已经被称为results,则您不需要results。 -
感谢 Dave 的帮助,但即使使用:
dataType和return data.results; -
“点击任何结果不会导致任何变化”具体是什么意思?
标签: javascript json jquery-select2 jquery-select2-4 select2-rails