Сортировка строк в таблице
Добрый день. Возникла проблема, я получаю XML со списком и параметрами транзакций, и пробегая по нему each- ем заполняю таблицу. Соответственно первое строка таблицы содержит самую давнюю транзакцию из полученного списка, мне же нужно отсортировать по дате. Попытка использовать tablesort не увенчалась успехом, сортировал по сначала по дню а потом по алфавиту. Пробовала по разному - не получилось. Возникает вопрос как решить эту проблемку.
var table = '<table class="transactions-table" id="transactions-table">' + '<thead>' + '<tr>' + '<th>Дата транзакции</th>' + '<th>Партнёр</th>' + '<th>Бонусы</th>' + '<th>Сумма чека</th>' + '</tr>' + '</thead>'; for (var i = 0; i < transactions.length; i++) { var transaction = transactions.get(i); var merchantId = $(transaction).find("merchantId").text(); reqId = $(transaction).find("trnReqId").text(); /* var reqDate = (new Date($(transaction).find("trnReqDate").text().substring(0, 10))).toLocaleDateString('ru-RU',{ day: 'numeric', month: 'short'});*/ var monthsArr = ["Янв", "Фев", "Мар", "Апр", "Мая", "Июн", "Июл", "Авг", "Сен", "Окт", "Ноя", "Дек"]; var dateObj = new Date($(transaction).find("trnReqDate").text().substring(0, 10)); var month = dateObj.getMonth(); var numDay = dateObj.getDate(); var reqDate = numDay + " " + monthsArr[month]; var reference = $(transaction).find("reference").text(); var merchantName = $(transaction).find("merchantName").text(); var salesPointTitle = $(transaction).find("salesPointTitle").text(); var srcTrnAmountChange = $(transaction).find("srcTrnAmountChange").text().replace(',', '.'); var bonusesCharged = $(transaction).find("bonusesCharged").text().replace(',', '.'); var bonusesWithdrawn = $(transaction).find("bonusesWithdrawn").text().replace(',', '.'); var bonusesChargedRev = $(transaction).find("bonusesChargedRev").text().replace(',', '.'); var bonusesWithdrawnRev = $(transaction).find("bonusesWithdrawnRev").text().replace(',', '.'); if(bonusesChargedRev != 0){ bonusesCharged = bonusesWithdrawnRev ; } if (bonusesWithdrawnRev != 0){ bonusesWithdrawn = bonusesChargedRev; } totalSrcTrnAmountChange += parseFloat(srcTrnAmountChange); totalBonusesCharged += parseFloat(bonusesCharged); totalBonusesWithdrawn += parseFloat(bonusesWithdrawn); table = table + '<tr>' + '<td class="trans_day">' +reqDate+ '</td>' + '<td>' + " <img class='transactions_img' src='../images/merchants/" + merchantId + "_200x200.png'" +"onerror='this.onerror=null;this.src=\"../images/merchants/nologo_200x200.gif\"' height='200' width='200' >" + '</td>' + '<td id="'+reqId+'"><span class="trans_add">+'+bonusesCharged+"</span><br/><span class='trans_del'>-"+ bonusesWithdrawn + '</span></td>' + '<td >' + srcTrnAmountChange + '</td>' + '</tr>'; } table = table + '<tfoot>' + '<tr class="alt">' + '<td colspan="2">Всего: </td>' + '<td style="width: 30%">Накоплено: <span class="trans_add">+' + totalBonusesCharged.toFixed(2) +"</span><br/>Списано: <span class='trans_del'>-"+ totalBonusesWithdrawn.toFixed(2) +'</span></td>' + '<td>' + totalSrcTrnAmountChange.toFixed(2) + '</td>' + '</tr>' + '</tfoot>' + '</table>'; $('#transactionsData_' + cardId + ' #transactions_' + cardId).append(table); $('#transactions-table_' + cardId).tablesorter(); } Спасибо за внимание |
tvixa, мысли вслух
в строку 43 добавить данные для примера '<td class="trans_day" data-reg="' +dateObj+'">'а плагину указать что сортировать нужно не по тексту ячейки а по этим данным data-reg ... читать документацию. |
Часовой пояс GMT +3, время: 15:44. |