Select2倍数不能设置默认值


Select2 multiple cannot set default

我正在从ajax获取数据并用它填充select。现在如何在其中进行默认选择。

这是我的ajax

var productLists =[];
$.when(http_get('admin/offer/data/sync')).then(function(response){
    //returns a products array
    $.each(response.products, function(i, item){
            var product = {};
            product['id'] = item.id;
            product['text'] = item.product_name;
            productLists[i] = product;
    });
});
$('#sel_product').select2({
    data: productLists
});

为了获得所选的值,我可以做另一个ajax列表

或者我可以从php在html中打印<otpion value="" selected="selected">

那么,在这里我如何使用select2进行默认选择?

您需要将对.select2()的调用移动到回调中,以便在检索到数据后对其进行初始化。

var productLists = [];
$.when(http_get('admin/offer/data/sync')).then(function(response){
    //returns a products array
    $.each(response.products, function(i, item){
            var product = {};
            product['id'] = item.id;
            product['text'] = item.product_name;
            productLists[i] = product;
    });
    $('#sel_product').select2({
        data: productLists
    });
});