使用json格式化Select2下拉结果
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用json格式化Select2下拉结果相关的知识,希望对你有一定的参考价值。
我正在使用select2下拉控件来显示设施列表,例如设施A,B,C ......等。以及它的位置细节。我正在寻找以下输出,
目前我可以显示“设施名称”,但想从我的json对象中显示City和State。如何格式化我的结果以将其显示为上面的html格式?到目前为止,这是我的代码。
<input type="hidden" id="ddlFacility" style="width:100%" />
$("#ddlFacility").select2({
placeholder: "Select a Facility",
ajax: {
url: "my url",
dataType: 'json',
type: "GET",
quietMillis: 50,
data: function ( term ) { return { term: term }; },
results: function (data) {
return {
results: $.map(data, function (item) {
return { text: item.FacilityName, id: item.FacilityId }
})
};
}
}
});
答案
在你的select2选项中传递一个类似这样的函数,并根据你的需要设置类的样式
...
placeholder: "Select a Facility",
formatResult: function(item)
{
return '<div class="facility">' + item.text + '</div><span class="city">' + item.city + '</span></div>';
},
...
除了id和text之外,您可能还需要.map函数来包含Facilityname和City值。
如果希望所选值看起来相同,请对formatSelection选项使用相同的函数
以上是关于使用json格式化Select2下拉结果的主要内容,如果未能解决你的问题,请参考以下文章
即使正确的 JSON 格式,Select2 也不显示 AJAX 结果