select2 ajax 无法选中

百度出来的答案都太坑爹了。。。

我的问题是使用ajax加载数据后,数据都加载出来了,可是无法设置选中值。

最后发现返回的数据应是如下格式:

var data = [{ id: 0, text: 'aaa' }, { id: 1, text: 'bbb' }, { id: 2, text: 'ccc'}];

参考了两位博主的解决方案:

http://blog.csdn.net/cc_rain0624/article/details/73888491

http://blog.csdn.net/u011317027/article/details/62890088

在jquery的aja函数的success方法中,先拿数据,然后加工成select2识别的数组格式,再用data赋值。

如:

success:function(data){

   var itemList = [];
            for(var i=0; i<aList.length; i++){
                itemList.push({id: aList[i].id, text: aList[i].type})
            }
            for(var i=0; i<cList.length; i++){
                itemList.push({id: cList[i].typeId, text: cList[i].type})
            }
           $('#selectId).select2({
         placeholder : '请选择',
        // tags : true,
        // multiple : true,
        // height: '40px',
        // maximumSelectionLength : 3,
         //allowClear : true,
         language: "zh-CN",
         data : itemList
       });

}



原文地址:https://www.cnblogs.com/SweetTooth/p/7760285.html