簡體   English   中英

Select2 4.0 JSON搜索不起作用

[英]Select2 4.0 JSON search not working

幾個小時后,我終於加載並正確顯示了json文件,其中包括使用Select2 4.0的標志圖標,該文件看起來多么簡單,但看起來卻很荒謬。

但是現在,由於某種原因,搜索功能無法正常工作。 我無法搜索任何選項。

希望它既快速又容易,我可以把自己打在腦子里,以免早點發現它。

HTML:

<select id="country_select" class="form-control"></select>

JS:

<script>
        function formatCountry (country) {
            if (!country.id) { return country.text; }
            var $country = $(
                    '<span><img src="/assets/img/flags/' + country.code.toLowerCase() + '.png" class="flag" /> ' + country.text + '</span>'
            );
            return $country;
        };

        $('#country_select').select2({
            templateResult: formatCountry,
            templateSelection: formatCountry,
            ajax: {
                url: '/assets/json/countries.json',
                dataType: 'json',
                data: function (params) {
                    return {
                        q: params.term,
                        page: params.page
                    };
                },
                processResults: function (data, page) {
                    return {
                        results: $.map(data, function(country) {
                            return { id: country.id, code: country.code, text: country.name };
                        })
                    };
                }
            }
        });

    </script>

JSON:

{
"id":53,
"code":"CW",
"name":"Curaçao",
"iso_alpha_3":"CUW",
"iso_numeric":531
},
{
"id":54,
"code":"CX",
"name":"Christmasøya",
"iso_alpha_3":"CXR",
"iso_numeric":162
},
{
"id":55,
"code":"CY",
"name":"Kypros",
"iso_alpha_3":"CYP",
"iso_numeric":196
},

Select2期望您的結果將在服務器端進行過濾,因此在使用AJAX時不會進行任何匹配。

鑒於您的JSON是靜態的,我建議您僅使用$.ajax預先加載它,然后使用data選項而不是ajax將其加載到Select2中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM