Meine Webanwendung sammelt Daten mit:
id (Schlüsselwert)
Zeitstempel
Wert
Dann erstellt es eine HTML-Tabelle wie folgt:
%Vor%Erläuterung: Es sortiert den Zeitstempelwert in der DESC-Reihenfolge.
Wenn beispielsweise t1
der Zeitstempel für ID1 und 't2' der Zeitstempel für ID2 und ...
t1 + 2 seconds >= t2
Die ID2-Zeile wird rot.
In meinem Beispiel:
ID1 ist rot (# FFA9A9) Ursache von ID2 (gleicher Wert und Zeitstempel zwischen 2 Sek.)
ID3 ist eine rote Ursache von ID5, die eine rote Ursache von ID6 ist.
ID8 ist rote Ursache von ID9
In diesem Fall ist ID1 eine Kopie und ID2 ist original; ID3 und ID5 sind eine Kopie und ID6 ist das Original; ID8 ist eine Kopie und ID9 ist das Original.
Ich muss die rote Kopie zählen und den Zähler in eine andere Zelle der Zeile setzen, die das Original ist.
Das Ergebnis meines Beispiels sollte sein:
%Vor%Ich brauche es, weil ich 3 Datensammler habe und ich muss verstehen, welches Ereignis dasselbe wiederholt wird ... Wenn der Wert gleich ist und der Zeitstempel zwischen 2 Sekunden ist, ist es das gleiche Ereignis und ich brauche um nur den älteren in der Tabelle zu nehmen, aber ich muss auch zeigen, dass es andere erfasste Kopie davon gibt ...
Irgendwelche Hilfe? Ich kann Klasse, Namen oder irgendetwas anderes ändern, aber ich muss es tun, wenn die HTML-Seite geladen wird und Client-Seite (also Javascript oder jQuery) ...
Ich muss:
1) Tabelle Zeile für Zeile vom ersten bis zum letzten
scannen2) verstehe, ob es eine rote Zeile ist
3) Wenn es eine rote Zeile ist, muss ich eine Zählung von roten Zeilen mit demselben Wert vor einer Zeile beginnen, die nicht rot ist und denselben Wert hat. dann lege ich den Zähler in eine neue Zelle der gleichen, nicht roten Reihe ...
Vielen Dank !!! (und Entschuldigung für mein schlechtes Englisch!)
Mit jQuery können Sie alle tr-Elemente mit dem Attribut bgcolor="# FFA9A9" auswählen und dann .size () oder .length verwenden, um die Anzahl zu erhalten.
%Vor%api.jquery.com/attribute-equals-selector
Ich hoffe, das ist nützlich.
Bearbeiten: Wenn die roten Linien wie oben ausgewählt sind, können Sie auch .each()
über den ausgewählten Elementen ausführen und deren .children()
Edit 2: Vielleicht ist das ein nützlicher Ansatz?
%Vor%Die Idee ist, alle Trs auszuwählen, die nicht rot sind und alle trs, die rot sind. Dann iteriere über die nicht-roten Trs und überprüfe ihre Kinder-Tds gegen die roten Trs-Kinder-Tds (unter der Annahme, dass die Reihenfolge der Tds immer gleich ist). tds.eq (0) ist die ID, tds.eq (1) ist der Zeitstempel tds.eq (2) der Wert. So können Sie tds.eq (2) == redtds.eq (2) vergleichen, um die Werte zu vergleichen. Wenn Sie einen Fund haben, können Sie einen Zähler aufstellen und am Ende einen vierten td mit dem Zählerwert hinzufügen. Versuchen Sie, in den jQuery-Selektoren und dem Javascript für in-Schleife nachzulesen (oder die jQuery.each, die für Anfänger ein wenig verwirrender sein kann).
Tags und Links javascript jquery