2016-05-11 20 views
0

Ich habe zwei Tabellen auf einer Seite.Eine Seite zwei HTML-Tabelle erhalten spezifische Tabellen Spalte Summe

Die erste Tabelle: table id="yeni"

Die zweite Tabelle: table id="eski"

schrieb ich eine Funktion, die bestimmten Spalten der angegebenen Tabelle zu summieren.

Der einzige Unterschied in den Spalten ist das IDS. Zum Beispiel:

Ersten Reihe 1_1, 1_2, 1_3

Zweite Reihe 2_1, 2_2, 2_3

function sum(columno,table_id){ 

    var cost=0; 
    var rowcount=5 
    for (i=1 ; i<rowcount;i++){ 

      var t =document.getElementById(i + "_" + columno); 

    cost=cost+t.value; 
    } 

return cost; 

} 

Wie verwende ich den Parameter der ID der Tabelle in einer Funktion, die Tabelle zu identifizieren?

Meine HTML-Tabelle:

<table id="yeni" style="border: 1px solid rgb(0, 0, 0);"> 
    <tr id="1"> 
     <td><input id="1_1" style="width: 70px; font-size: 11px;"></td> 
     <td><input id="1_2" style="width: 80px; font-size: 11px;"></td> 
     <td><input id="1_3" style="width: 80px; font-size: 11px;"></td> 
     <td><input id="1_4" style="width: 80px; font-size: 11px;"></td> 
     <td><input id="1_5" style="width: 80px; font-size: 11px;"></td> 
     <td><input id="1_6" style="width: 80px; font-size: 11px;"></td> 
     <td><input id="1_7" style="width: 80px; font-size: 11px;"></td> 
     <td><input id="1_8" type="hidden" value="75" style="width: 80px; font-size: 11px;"></td> 
     <td><button></button></td> 
    </tr> 
    <tr id="2"> 
     <td><input id="2_1" style="width: 70px; font-size: 11px;"></td> 
     <td><input id="2_2" style="width: 80px; font-size: 11px;"></td> 
     <td><input id="2_3" style="width: 80px; font-size: 11px;"></td> 
     <td><input id="2_4" style="width: 80px; font-size: 11px;"></td> 
     <td><input id="2_5" style="width: 80px; font-size: 11px;"></td> 
     <td><input id="2_6" style="width: 80px; font-size: 11px;"></td> 
     <td><input id="2_7" style="width: 80px; font-size: 11px;"></td> 
     <td><input id="2_8" type="hidden" value="30.68" style="width: 80px; font-size: 11px;"></td> 
     <td><button></button></td> 
    </tr> 
    <tr id="3"> 
     <td><input id="3_1" style="width: 70px; font-size: 11px;"></td> 
     <td><input id="3_2" style="width: 80px; font-size: 11px;"></td> 
     <td><input id="3_3" style="width: 80px; font-size: 11px;"></td> 
     <td><input id="3_4" style="width: 80px; font-size: 11px;"></td> 
     <td><input id="3_5" style="width: 80px; font-size: 11px;"></td> 
     <td><input id="3_6" style="width: 80px; font-size: 11px;"></td> 
     <td><input id="3_7" style="width: 80px; font-size: 11px;"></td> 
     <td><input id="3_8" type="hidden" value="16.56" style="width: 80px; font-size: 11px;"></td> 
     <td><button></button></td> 
    </tr> 
    <tr id="4"> 
     <td><input id="4_1" style="width: 70px; font-size: 11px;"></td> 
     <td><input id="4_2" style="width: 80px; font-size: 11px;"></td> 
     <td><input id="4_3" style="width: 80px; font-size: 11px;"></td> 
     <td><input id="4_4" style="width: 80px; font-size: 11px;"></td> 
     <td><input id="4_5" style="width: 80px; font-size: 11px;"></td> 
     <td><input id="4_6" style="width: 80px; font-size: 11px;"></td> 
     <td><input id="4_7" style="width: 80px; font-size: 11px;"></td> 
     <td><input id="4_8" type="hidden" value="30.68" style="width: 80px; font-size: 11px;"></td> 
     <td><button></button></td> 
    </tr> 
    <tr id="5"> 
     <td><input id="5_1" style="width: 70px; font-size: 11px;"></td> 
     <td><input id="5_2" style="width: 80px; font-size: 11px;"></td> 
     <td><input id="5_3" style="width: 80px; font-size: 11px;"></td> 
     <td><input id="5_4" style="width: 80px; font-size: 11px;"></td> 
     <td><input id="5_5" style="width: 80px; font-size: 11px;"></td> 
     <td><input id="5_6" style="width: 80px; font-size: 11px;"></td> 
     <td><input id="5_7" style="width: 80px; font-size: 11px;"></td> 
     <td><input id="5_8" type="hidden" style="width: 80px; font-size: 11px;"></td> 
     <td><button></button></td> 
    </tr> 
</table> 
+0

werden Sie uns etwas HTML zeigen? Nur eine Probe aus beiden Tabellen bitte –

+0

'Summe (2, 'Yeni');' und als in Ihrer 'sum()' Funktion finden Sie alle 'td's für eine' table_id' wie '' $ ('#' + table_id) .find ('#' + i + "_" + columno) 'und verwende keine eindeutigen IDs, es ist besser, etwas wie' ' –

+0

zu verwenden, dass es kein reines gibt Javascript-Lösung –

Antwort

0

für zwei Zellen-ID der Tabelle hat Regel wie für die erste Reihe 1_1,1_2,1_3 für zweite Reihe 2_1,2_2,2_3 und so weiter

Dies ist ein Problem, das Attribut id eines Elements muss für die gesamte Webseite eindeutig sein. Nur weil Ihre Tabellen verschiedene id Werte haben, bedeutet das nicht, dass es hilft, die Zellenzeilen zu unterscheiden.

Sie müssen entweder jede Tabellenzelle mit den Tabellen id Wert voranstellen (z. B. <td><input id="eski_4_4" style="width: 80px; font-size: 11px;"></td>), oder Sie finden Ihre Tabellenzellen anders (z. B. verwenden Sie die Tatsache, dass sie unter javascript Tabellenkinder sind).

0

dies möglicherweise

sum(columno,table_id){ 

var cost=0; 
var rowcount=5 
for (i=1 ; i<rowcount;i++){ 
     var t = $(table_id).find("#" + i + "_" + columno); 
     cost=cost+t.value; 
} 

Rückholkosten

helfen; }

+0

können Sie reines Javascript geben –

Verwandte Themen