select2 3.* insert data without replace content

<li class="list-group-item" data-id-user="3"><span class="badge">+</span>Song Ph'"a'"m</li>
<input type="hidden" name="partners" value="" class="multiselect-partner" style="width:100%"/>
<script type="text/javascript">
window.dataPartners = [
{ id: 4, text: "Xuân Hồng" },
{ id: 5, text: "Văn Luyện" },
{ id: 6, text: "Sau Ngu" },
];
</script>
$(document).ready(function () {
    /**
     * select2 function
     */
    if ($().select2) {
        $(".multiselect-partner").select2({
            multiple: true,
            query: function (query){
                var data = {
                    results: window.dataPartners
                };
                query.callback(data);
            },
            dropdownCssClass: "multiple", // apply css that makes the dropdown taller
            escapeMarkup: function (m) { return m; } // we do not want to escape markup since we are displaying html in results
        });
        $newItem = $('.list-group-item');
        $newItem.on('click', function () {
            var isValid = true,
                $me = $(this),
                $fieldMultiselect = $('.multiselect-partner'),
                objectData = {
                    id: $me.data('id-user'),
                    text: $me.text().substr(1)
                };
            $.each(window.dataPartners, function (index, value) {
                if (value.id == $me.data('id-user')) {
                    isValid = false;
                    return false;
                }
            });
            if (isValid === true) {
                window.dataPartners.push(objectData); /* update list dataPartners */
                /**
                 * insert this user to group chat
                 */
                var data = $fieldMultiselect.select2('data');
                data.push(objectData);
                $fieldMultiselect.select2("data", data, true);
            }
            $me.remove();
        });
    }
});