adding items dynamically to select2

by thomas_david88

HTML

<link rel="stylesheet" href="https://rawgit.com/select2/select2/master/dist/css/select2.min.css">
<script src="https://rawgit.com/select2/select2/master/dist/js/select2.full.min.js"></script>
<select class="selectStatic" ></select>

<button>add</button>

JavaScript

$.fn.addSelect2Items = function(items, config){
    var that = this;
    that.select2("destroy");
    for(var k in items){
        var data = items[k];
        that.append("<option value='"+ data.id +"'>"+ data.text +"</option>");
         devoirselect.append("<div class='checkbox custom-control custom-checkbox small'>"+ "<input type='checkbox'"+ "name='dropdown-group'" "class='check custom-control-input'"+ "id='" + devoirattacher.data[i] +"'/>"+ "<label for='"+ devoirattacher.data[i]+"'+ "class='custom-control-label'" data-id='"+ devoirattacher.data[i] +"'>  '"+  devoirattacher.data[i]+"' "</label>" "</div>");
    }
    that.select2(config || {});
};

var data = {
     dataCat1 : ["a", "b"],
     dataCat2 : ["c", "d"],
}

function initSelect(data){
  $("select").select2({
   	//data: data
  });
}
$("select").select2({data: data.dataCat1});
$("button").click(function(){
	$("select").addSelect2Items([{id: 3, text: "novo"}], {});
});