Как создать результат группировки jQuery с Ajax - PullRequest
0 голосов
/ 07 июня 2019

Я пытаюсь создать сгруппированный экран, в котором объекты массива имеют общие годы.

лет выданы билеты категории ускорения ... ...

Я пытался создатьвложенный цикл for внутри цикла for с оператором if для захвата объектов в массиве с тем же годом

    $.ajax('/api/ExpiationsWebAPI', {
        timeout: 2000
    })
        .then(function (data) {
            console.log(data)

            var tableEl = $('<table class="table">')
            var headerTitle = $('<tr>')
            var headerEl = $('<tr>')
            $('<th colspan="2" class="title">').text('Speeding Category by Year').appendTo(headerTitle)
            headerTitle.appendTo(tableEl)
            $('<th class="speedingTitle">').text('Speeding Category').appendTo(headerEl)
            $('<th class ="ticketsTitle">').text('Tickets Issued').appendTo(headerEl)
            headerEl.appendTo(tableEl)
            var headerYear = $('<tr>')

            for (var item of data) {


                if ($('<tr>').text(item.year) != this.headerYear) {

                    headerYear.appendTo(tableEl)
                }

                $('<tr>').text(item.year).appendTo(headerYear)

                 for (var i = 0; i = data.length; i++) {
                    var dataRow = $('<tr>').attr('data-id', item.id)
                    var object = data[i]

                     if ($('<td>').text(item.year) === headerYear) {
                         //console.log(headerYear)
                         //console.log($('<td>').text(item.year))
                        $('<td class="speeding">').text("Speeding by " + item.expiationCategory).appendTo(dataRow)
                        $('<td class="tickets">').text(item.ticketCount).appendTo(dataRow)
                        dataRow.appendTo(tableEl)
                    }

                    dataRow.on('click', function () {
                        alert($(this).attr('data-id'))
                    })

                }


            }

            tableEl.appendTo('#table')


        }, function (e) {
            console.log(e)
        })


</script>

Не получается получить правильный вывод

Выходные данные должны быть: Строка - Год, строка данных, строка данных ... Строка - Год, строка данных, строка данных ...

Вместо этого я получаю: Строка - Год, строка данных, Строка- Год, строка данных, Линия - Год, строка данных,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...