Не удается получить доступ к элементам управления вводом на странице 2 и далее - PullRequest
0 голосов
/ 23 октября 2019

У меня есть динамически созданная таблица с несколькими столбцами, включая элемент управления вводом текста. Я читаю записи из БД и заполняю это поле ввода соответственно. Он правильно заполняется на первой странице, но не для других страниц. Я использую Footable v3

Я попробовал кучу вещей. Сценарий, кажется, проходит все записи правильно, но вывод не виден на странице 2.

function populateNotes(tableId) {
    var table = document.getElementById(tableId);
    var allRows = FooTable.get(table).rows.all;
    var rowItem, rw;
    var notesTD, jNo;

    // This loop goes through all records correctly
    for (rw in allRows) {
        rowItem = allRows[rw];
        var jNo = rowItem.$el.find("td:nth-child(1)").text();
        console.log("populateNotes: Row: ", jNo);

        var notesTD = rowItem.$el.find("td:nth-child(12)").find('#kpi-notes');
        if (notesTD.length !== 0) {
            notesTD.val('' + getKpiNotes(jNo));
        }
    }
}

Я ожидаю увидеть поле ввода 'notesTD', содержащее правильное значение, но это происходит только припервая страницаСледующая страница и далее пуста. Цени любую помощь или указатели.

1 Ответ

0 голосов
/ 23 октября 2019

Вы пытались использовать события footable, я использую это для управления модификацией контента или стиля. Это также займет меньше времени, потому что вы выполняете итерацию только в 10 или 15 строках страниц. Например, вы можете использовать постраничную страничку

 "after.ft.paging": function (e, ft) {      
            var colarray = ft.columns.array;  //array is just the records shown on the page
........
...