Avatar billede mcclaud Nybegynder
15. marts 2014 - 18:31 Der er 3 kommentarer og
1 løsning

HTML-tabel: addclass til række (tr) baseret på højeste værdi i kolonne (td)

Hej alle eksperter

Jeg har lavet et simpelt javascript, som kan finde en given værdi i en udvalgt kolonne af en tabel og derefter lave en addclass til den række, hvori værdien er fundet:

----------
$(document).ready(function(){
$('tr').each(function(){
if($(this).find('td').eq(1).text() === 'VALUE'){
$(this).addClass('max');
}
});
});
----------
.max {
  color: red;
}
----------

Nu kunne jeg godt tænke mig at gøre det samme - dog med den afgørende forskel, at der søges efter den største værdi i en udvalgt kolonne (som kun indeholder numeriske heltal) og laver en addclass til den række, hvori værdien er fundet. Bemærk, at der kan være flere kolonner, der indeholder ens værdier - således kan den største værdi findes i flere kolonner. Alle disse kolonner skal tilføjes denne addclass.

Kan det lade sig gøre på en helt enkel måde?

:o) mcclaud
Avatar billede HBP2 Praktikant
16. marts 2014 - 11:34 #1
Du kan jo starte med at tilføje en bestemt klasse til hver <td> i en kolonne, f.eks. 'col1' til alle <td> i første kolonne, 'col2' til alle <td> i anden kolonne osv.
Derefter kan du løbe alle <td> i en given kolonne igennem med noget i retningen af:
 
var biggest = false;
$('table td.col1').each(function() {
  // find kolonnen med den største værdi
  if (???)  biggest = this;
});

Herefter skal du så tilføje en klasse til den række der indeholder den største værdi:
$(biggest).closest('tr').addClass('bigone);
Avatar billede mcclaud Nybegynder
19. marts 2014 - 14:55 #2
Hej HBP2

Hvad skal der stå i stedet for ??? herunder?

----------
var biggest = false;
$('table td.col1').each(function(){
if (???) biggest = this;
});
$(biggest).closest('tr').addClass('bigone);
----------
.bigone {
  color: red;
}
----------

:o) mcclaud
Avatar billede HBP2 Praktikant
19. marts 2014 - 19:58 #3
Det er jo ligesom op til dig at finde ud af hvordan du sammenligner de forskellige elementer for at finde den største værdi.
Avatar billede mcclaud Nybegynder
23. marts 2014 - 15:24 #4
Tak for hjælpen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester