gpt4 book ai didi

javascript - 无法选择通过 select2 中的 jsonp 填充的项目

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:04:59 25 4
gpt4 key购买 nike

我正在尝试使用 geonames 数据填充 select2 元素。我定义了一个 formatSelection 方法,但它不会在选择项目时触发。

这是 HTML 元素:

<input id="location" size="30" type="text">​

Select2 绑定(bind)格式函数:

function locationFormatResult(location) {
var markup = "<table class='location-result'><tr>";

if (location.countryCode !== undefined) {
markup += "<td class='flag-image'><img src='http://www.geonames.org/flags/x/" + location.countryCode.toLowerCase() + ".gif' /></td>";
}

markup += "<td class='location-info'>";
markup += "<div class='location-name'>" + location.name + ", " + location.adminName1 + ", " + location.countryName + "</div>";
markup += "</td></tr></table>";

return markup;
}

function locationFormatSelection(location) {
return location.name + ", " + location.adminName1 + ", " + location.countryName;
}

$(function () {
$('#location').select2({
placeholder: 'Location',
allowClear: true,
width: '260px',
minimumInputLength: 2,
ajax: {
url: 'http://ws.geonames.org/searchJSON',
dataType: 'jsonp',
data: function (term) {
return {
featureClass: 'P',
q: term
};
},
results: function (data) {
return {
results: data.geonames
};
}
},
formatResult: locationFormatResult,
formatSelection: locationFormatSelection,
dropdownCssClass: "bigdrop"
});
});

你可以在这里看到完整的 fiddle :http://jsfiddle.net/6CVbw/1/

为什么选择项目不起作用?

最佳答案

我想通了。当您在元素上实例化 select2 插件时,您必须指定一个 ID 属性。这有效:

$(function () {
$('#location').select2({
id: function(e) { return e.name + '|' + e.adminName1 + '|' + e.countryName },
placeholder: 'Location',
allowClear: true,
width: '260px',
minimumInputLength: 2,
ajax: {
url: 'http://ws.geonames.org/searchJSON',
dataType: 'jsonp',
data: function (term) {
return {
featureClass: 'P',
q: term
};
},
results: function (data) {
return {
results: data.geonames
};
}
},
formatResult: locationFormatResult,
formatSelection: locationFormatSelection,
dropdownCssClass: "bigdrop"
});
});

你可以在这里看到更新的 fiddle :http://jsfiddle.net/6CVbw/2/

关于javascript - 无法选择通过 select2 中的 jsonp 填充的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13199103/

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