使用json格式化Select2下拉结果

问题描述 投票:0回答:1

我正在使用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 }
                    })
                };
            }
        }
    });
jquery json select jquery-select2 ui-select2
1个回答
2
投票

在你的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选项使用相同的函数

© www.soinside.com 2019 - 2024. All rights reserved.