HTML-диалог с привязкой к данным правильно отображает динамические данные в первый раз, но всегда показывает то же самое при каждом вызове

У меня есть HTML-диалог на главной странице:

      <div id="dlgCurAccum" title="Accumulators">
    <div class="form-horizontal">
        <div class="scrollable">
            <div id="accumListDiv">
                <div id="divAccumulators" class="divAccum" rv-each-accum="accumList" rv-id="accum.Accumulator">
                    <label class="accumRemove"> ({accum.Accumulator})</label><input type="checkbox" class="accumRemove" rv-data-accum="accum.Accumulator" />
                </div>
            </div>
        </div>
    </div>
</div>

Представления и модели определяются как:

      var model = {
    CoveredEntities: [],
    productExceptionList: [],
    accumList:[]
}

var views = {
    coveredEntities: null,
    tblProductException: null,
    accumList:null
}

У меня есть обработчик событий, который реагирует на щелчок по таблице данных, извлекает информацию, вызывает контроллер для получения данных и связывает данные через rivets.bind. Данные, возвращаемые контроллером, всегда верны.

      function onShowAccumulators(target) {
    var row = $(target).closest("tr")[0];
    var rowData = views.tblProductException.row(row).data();

    model.accumList.length = 0;

    $.getJSON("/OrderPrefsMgmt/GetCurAccumulators?ceid=" + $("#coveredEntities").val() + "&ndc=" + rowData.NDC)
        .done(function (data) {
            console.log($("#coveredEntities").val())
            console.log(rowData.NDC);
            console.log(data);
            $.extend(true, model.accumList, data);

            rivets.bind($("#accumListDiv"), { accumList: model.accumList });

            ShowDialogCurAccum();

            showBusy(false);
        })
        .fail(function (xhr, status, err) {
            showError("Get Product Exceptions", errStr(err, xhr));
            showBusy(false);
        });
}

И я показываю диалог через:function ShowDialogCurAccum() {

      // Using jQuery to open a dialog
$("#dlgCurAccum").dialog({
    modal: true,
    title: 'Selected Accumulators',
    minWidth: 1050,
    resizable: true,
    buttons: {
        Ok: function () {
            $(this).dialog('destroy');
        }
    }
    });
}

Независимо от того, какие данные сейчас, он всегда показывает первый список:

Как очистить динамические данные и по-прежнему иметь возможность отображать правильные данные во время последующих вызовов диалога?

0 ответов

Другие вопросы по тегам