2012-04-03 1 views
0

J'ai une liste de stock dans un fichier .csv et j'utilise un plugin CSV pour déposer dans Joomla pour voir toutes les données.Tableau de liste de stock - montant minimum - si autre

Qu'est-ce que le plug-in est crée que ..

<table class="arttable_table"> 
    <thead> 
    <tr> 
     <th class="header0">Aricle</th> 
     <th class="header1">amount</th><th class="header2">minimum amount</th> 
    </tr> 
    </thead> 
    <tbody> 
    <tr> 
     <td class="cell0">Coffee</td> 
     <td class="cell1">5</td> 
     <td class="cell2">10</td> 
    </tr> 
    <tr> 
     <td class="cell0">Milk</td> 
     <td class="cell1">7</td> 
     <td class="cell2">5</td> 
    </tr> 
    <tr> 
     <td class="cell0">Bread</td> 
     <td class="cell1">8</td> 
     <td class="cell2">15</td> 
    </tr> 
    <!-- ... and so on! --> 
    </tbody> 
</table> 

La seule chose que je voudrais faire est:
Si le montant est inférieur au montant minimum, faire l'arrière-plan rouge montant. Le problème est que les classes répètent. Donc, je ne peux pas simplement dire:

if (parseInt($(".cell1").text()) < parseInt($(".cell2").text())) { 
    $(".cell1").addClass("red"); 
} 

Répondre

0

Pourquoi ne pas faire une boucle?

$('.cell1').each(function() { 
    if (parseInt($(this).text()) < parseInt($(this).siblings(".cell2").text())) { 
    $(this).addClass("red"); 
    } 
}) 
+0

uhh, merci beaucoup :)) –

+0

@AndrewJackson 'fonction filter' est plus pratique car vous avez alors la liste filtrée des cellules sur lequel vous pourriez effectuer d'autres actions si nécessaire – jb10210

0

Utilisez la méthode filter:

$('.cell1').filter(function() { 
    return parseInt($(this).text()) < parseInt($(this).next('.cell2').text()); 
}).addClass('red'); 

Voir jsFiddle

Questions connexes