我正在使用jQuery Select 2

它工作正常,但是当我使用initSelection()方法初始化选定的值时,在编辑模式下出现此错误:

Error: No select2/compat/initSelection


我的jQuery脚本是:

jQuery('#country').select2({
            placeholder : 'Select Country',
            minimumInputLength: 1,
            ajax: {
                url: '<?php echo site_url('countries/get_countries')?>',
                dataType: 'json',
                type : 'GET',
                data: function(param) {
                    return {
                        countries : param.term
                    };
                },
                processResults: function (data)
                {
                    var myResults = [];
                    $("#state").select2("val", "");
                    $("#city").select2("val", "");
                    jQuery.each(data, function(index,item) {
                        myResults.push({
                            id: item.id,
                            text: item.name
                        });
                    });
                    return {
                        results: myResults
                    };
                },
            },
            initSelection: function (element, callback) {
                var data = { id: 1, name: "Country Name" };
                callback(data);
            },
        });


在此示例中,我只是尝试加载测试数据。
为什么会出现此错误?

最佳答案

对于initSelection,请尝试以下代码

            initSelection: function (element, callback) {
                    var data = [];
                    $(element.val()).each(function () {
                        data.push({ id: this, text: this });
                    });
                    callback(data);
                }


要填充值,请使用此选项。

      $('#').select2('data',arr);

10-05 20:13