Merge gleich Tabellenzelle mit jQuery

Einfache html-Tabelle mit NxM-Werte.
Das Ziel besteht in der Zusammenführung von gleichen Zellen in Spalte mit jQuery.
Beachten Sie, dass in einer Zeile keine Duplikate vorhanden sind.

Bekam ich, wie zu verstecken die gleichen Zellen, aber gibt es eine Möglichkeit, zu kombinieren, eine Zelle mit Daten mit einer leeren Zelle in einer?

html:

<table border="1" id="testTable">
<tr>
    <td>First</td>
    <td>A</td>
    <td>A</td>
</tr>
<tr>
    <td>First</td>
    <td>A</td>
    <td>B</td>
</tr>
<tr>
    <td>Second</td>
    <td>V</td>
    <td>S</td>
</tr>
<tr>
    <td>Third</td>
    <td>D</td>
    <td>H</td>
</tr>
<tr>
    <td>Third</td>
    <td>E</td>
    <td>E</td>       
</tr>
</table>

js:

var seenArray = {};
$('#testTable td').each(function() 
{
    var index =  $(this).index();
    var txt = $(this).text();
    if (seenArray[index] === txt) 
    {
        $(this).text(''); //I think here should be "marging"
    }
    else 
    {
        seenArray[index] = txt;
    }
});

jsFiddle

P. S. Eine weitere Sache, die die Daten ursprünglich abgerufen im json-array ist, dann weiß ich .parseJSON() ersten und die Daten in der Tabelle mit:

for (var i = 0; i < obj.length; i++) 
{
    tr = $('<tr/>');
    tr.append("<td>" + obj[i]['columnA'] + "</td>");
    tr.append("<td>" + obj[i]['columnB'] + "</td>");
    tr.append("<td>" + obj[i]['columnC'] + "</td>");
    $('#testTable').append(tr); 
}

UPD

alFReD NSH gemacht eine gute Lösung für 2 Zellen. Hier ist seine Lösung.
Aber, wenn es mehr als 2 gleich große Zellen.

So, hier die "Erste" und "A" sollte eine Zelle?
Die "erste" und leeren Zelle darunter, die zusammengeführt werden sollen. Bitte überprüfen Sie die jsfiddle

InformationsquelleAutor Aleksey Potapov | 2014-02-02

Schreibe einen Kommentar