gpt4 book ai didi

jquery - Select2 不加载远程数据

转载 作者:行者123 更新时间:2023-12-01 08:04:24 25 4
gpt4 key购买 nike

我在使用 select2 时遇到一些问题。我尝试按照 API 文档加载远程数据,但是仍然收到加载指示器,没有错误,但没有显示数据。

这里是一些代码:https://gist.github.com/Fire-Dragon-DoL/5993136

Javascript:

(function() {
var $;

$ = jQuery;

$(function() {
$('a.submit-link').on('click', function(ev) {
ev.preventDefault();
$(this).closest('form').submit();
});
$('.spinner-float').spinner({
step: 0.01,
numberFormat: 'n',
min: 0
});
$('.spinner').spinner({
min: 0
});
$('.select2-cities').select2({
width: 200,
minimumInputLength: 1,
dropdownCssClass: 'bigdrop',
loadMorePadding: 300,
formatResult: function(obj, container, query, escapeMarkup) {
console.log("formatResult");
return obj.name;
},
formatSelection: function(obj, container) {
console.log("formatSelection");
return obj.name;
},
initSelection: function(element, callback) {
var id;

console.log("initSelection");
id = $(element).val();
if ((id != null) && id !== '') {
$.ajax(gon.cities_path + '/' + id + '.json', {
dataType: 'jsonp'
}).done(function(data) {
console.log("initSelection callback");
console.log(data);
callback(data);
});
}
},
ajax: {
url: gon.cities_path + '.json',
dataType: 'jsonp',
data: function(term, page) {
return {
query: term,
page: page - 1
};
},
results: function(data, page) {
console.log("results");
console.log(data);
return data;
}
}
});
});

}).call(this);

这是 json 响应:

{
"total": 8084,
"results": [
{
"cap": 35031,
"id": 8085,
"name": "Abano Terme",
"province": "PD",
"state_id": 25
},
{
"cap": 26834,
"id": 8086,
"name": "Abbadia Cerreto",
"province": "LO",
"state_id": 21
}
],
"more": false
}

html 的一部分(select2 显示正确,我不认为这是问题):

<!-- ... -->
<script type="text/javascript">
//<![CDATA[
window.gon = {};gon.cities_path="http://localhost:3000/cities";
//]]>
</script>
<!-- ... -->
<input class="select2-cities" id="travel_diary_city_id" name="travel_diary[city_id]" type="hidden" value="13987" />

在 gist 文件中,您还可以找到代码的 Coffeescript 版本。我真正不明白的是,在任何情况下都不会调用 console.log ,因此基本上不会调用格式化函数和类似的东西。

更新 1:解决了 javascript 代码的一些问题,其中一些键位于 ajax 对象而不是构造函数内。

最佳答案

看起来我正在使用 JSONP 而没有在服务器端实现它。将数据类型移至 json 解决了该问题。

关于jquery - Select2 不加载远程数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17636385/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com