Связывание Knockout.js с несколькими Select2

Мой вопрос: когда я связываю свой Select2 с Multiple с Knockout View Model. После выбора одного из параметров данные теряются во второй раз

KnockOutCode

$(window).load(function () {

ko.bindingHandlers.select2 = {
    init: function (element, valueAccessor, allBindingsAccessor) {
        var obj = valueAccessor(),
            allBindings = allBindingsAccessor(),
            lookupKey = allBindings.lookupKey;
        $(element).select2(obj);
        if (lookupKey) {
            var value = ko.utils.unwrapObservable(allBindings.value);
            $(element).select2('data', ko.utils.arrayFirst(obj.data.results, function (item) {
                return item[lookupKey] === value;
            }));
        }

        ko.utils.domNodeDisposal.addDisposeCallback(element, function () {
            $(element).select2('destroy');
        });
    },
    update: function (element) {
        $(element).trigger('change');
    }
};

ko.applyBindings(new ViewModel());
function ViewModel() {
    var self = this;

    self.MetricsModel = ko.observableArray([]);

    GetMetrics();

    function GetMetrics() {
        $.ajax({
            url: '/Admin/GetMetrics',
            type: "POST",
            dataType: "json",
            success: function (returndata) {
                self.MetricsModel(returndata);
            },
            error: function () {
                alert("eRROR GET Applications");
            }
        });
    };

}
$("#application-select-metrics").select2();    
}    

HTML-файл

    <select multiple="multiple" id="application-select-metrics" class="form-control" data-bind="options: MetricsModel, optionsText: 'Metrics_Name', OptionsValue:'Metrics_ID', optionsCaption: 'Choose...', select2: {}"></select>
@*<select multiple="multiple" id="application-select-metrics" class="form-control">
    <option>1</option>
    <option>2</option>
    <option>3</option>
    <option>4</option>
    <option>5</option>
</select>*@

Обратите внимание, что закомментированные разделы, то есть жестко закодированные значения, работают, и это позволяет мне выбирать несколько значений, и с помощью Knockout он работает впервые, я получаю заполненный список, но после выбора один раз, во второй раз данные потерянный.

Пожалуйста помоги,

Спасибо,

РЕДАКТИРОВАТЬ: Как упомянул Hanes, я отредактировал код и ввел пользовательское связывание, но все же оно не работает, я не думаю, что раздел обновления пользовательского связывания работает должным образом, так как раскрывающийся список заполняется один раз, но не связывается во второй раз. Любая помощь будет с благодарностью.

Ответы на вопрос(2)

Ваш ответ на вопрос