2012-04-02 17 views
0

Eine Tabelle hat zwei Zeilen und drei Spalten. Die Anforderung ist, dass wenn die Summe der zweiten und dritten Spalte für eine bestimmte Zeile ungleich 12 ist, als der Hintergrundfarbe für die gleiche Zeile, aber die erste Spalte wird in rot geändert.Ändern der Farbe eines bestimmten Index in einer Tabelle

Hinweis: Die erste Spalte enthält nur einen Text. Zweite und dritte Spalte haben Textfelder mit ganzzahligen Werten.

Beispiel:

<table> 
    <tr> 
     <td>A</td> 
     <td>2</td> 
     <td>13</td> 
    </tr> 
    <tr> 
     <td>B</td> 
     <td>2</td> 
     <td>10</td> 
    </tr> 
    <tr> 
     <td>C</td> 
     <td>2</td> 
     <td>14</td> 
    </tr> 
</table> 

In dem obigen Beispiel ist die Summe 2 + 2 + 13 und 14 sind größer als 12, so die Hintergrundfarbe der ersten für beide von ihnen zu dem roten Farbe ändern sollte.

+0

Ich habe versucht, den Index der Liste bekommen, durch die wir zu durchlaufen versuchen. Es funktioniert irgendwie. – Nitish

Antwort

0

Sie können einfach tun:

$('tr').each(function(i, row) { 
    // init sum for each new parsed row 
    var sum = 0; 
    // parse row children ('td') 
    $(this).children('td').each(function(j, col) { 
     if (j > 0) { 
      // sum all columns, except first 
      sum += parseInt($(col).text()); 
     } 
    }); 
    // check sum 
    if (sum != 12) { 
     // Change background here for first column of current row 
     $(row).find('td').first().css({ 
      backgroundColor: 'red' 
     }); 
    } 
}) 
+0

thnx, aber ich habe eine andere Lösung. – Nitish

+0

In diesem Fall könnten Sie uns Ihre Lösung hier geben, damit jemand Ihren Beitrag sehen und nach einer Lösung suchen kann. – Mordhak

Verwandte Themen