使用json格式化Select2下拉结果

时间:2014-06-25 18:33:24

标签: jquery json select jquery-select2 ui-select2

我正在使用select2下拉控件来显示设施列表,例如设施A,B,C ......等。以及它的位置细节。我正在寻找以下输出,

enter image description here

目前我可以显示"设施名称",但我想从我的json对象中显示城市和州。 如何格式化结果以将其显示为上述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 }
                    })
                };
            }
        }
    });

1 个答案:

答案 0 :(得分: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选项使用相同的函数