2013-12-11 2 views
0

Как получить одни и те же значения даты в этой таблице с помощью javascript или jQuery? Мне нужно манипулировать им таким образом, чтобы я мог иметь всю информацию с той же датой, скомпилированной вместе, не повторяя дату.Как получить одинаковые текстовые значения в таблице?

Fiddle

<table> 
<tbody> 
    <tr> 
     <td>10/19/2013</td> 
     <td>John Doe</td> 
     <td>3 Margueritas</td> 
    </tr> 
    <tr> 
     <td>10/19/2013</td> 
     <td>Mary Jane</td> 
     <td>2 Sodas</td> 
    </tr> 
    <tr> 
     <td>10/25/2013</td> 
     <td>Paul Stanley</td> 
     <td>1 Cold Gin</td> 
    </tr> 
    <tr> 
     <td>10/25/2013</td> 
     <td>Jenny Johnson</td> 
     <td>2 Cosmopolitans</td> 
    </tr> 
    <tr> 
     <td>10/25/2013</td> 
     <td>Francis Patton</td> 
     <td>10 Beers</td> 
    </tr> 
    <tr> 
     <td>01/06/2013</td> 
     <td>Taylor Dalton</td> 
     <td>4 Tequila Shots</td> 
    </tr> 
</tbody> 

+0

финики уже отсортированы? И все, что вы хотите, чтобы не показывать уникальную дату более одного раза? – charlietfl

+0

Предполагается, что вы хотите группировать данные, используя иерархическую структуру таблицы? –

+0

Да, используя иерархическую структуру таблицы. –

ответ

1

Предполагает даты, чтобы

var dates = []; 
$('#myTable tr').find('td:eq(0)').text(function (i, date) { 
    var exists = $.inArray(date, dates) > -1; 
    if (!exists) dates.push(date); 
    return exists ? '' : date; 
}); 

DEMO

+0

Удивительный, сделал трюк! Спасибо чувак! –

1

Предполагая, что они уже отсортированы, вы можете просто перебирать даты и удалить те, чьи предыдущие даты такой же.

var dates = $('td:first-child'); 
for (var i = 1; i < dates.length; i++) { 
    if ($(dates[i]).html() == $(dates[i - 1]).html()) { 
     $(dates[i]).html(''); 
    } 
} 
Смежные вопросы