2016-06-01 3 views
0

Ich habe es geschafft, automatisch eine HTML-Tabelle basierend auf einer Ausgabe von meinem ERP-System zu erstellen und es geschafft, CSS zu verwenden, um es leicht zu formatieren. Der letzte Schritt ist die bedingte Formatierung in einem Datumsfeld. Wenn das Datum ist < ab jetzt machen das Feld ROT, wenn es zwischen 4 <> 7 Tage ab jetzt ist es gelb machen sonst "keine Formatierung.Bedingte Warnung in HTML Tabelle

Ich habe so weit auf Dutzende von Beispielen von dieser Website, und ich hoffe Sie können mir helfen, einige grundlegende DATUM MATH zu tun, die aus irgendeinem Grund kann ich nicht meinen Kopf herum.

Jetzt ist mein Datum Feld in der td: nth-Kind (4) und ich möchte es zu komparieren das aktuelle Datum.

<script> 

    $(document).ready(function() { 

      $('table td:nth-child(4)').each(function() { 
       var D1 = $(this).text(); 
       var D2 = new Date(); 

       if ((D1 - D2) < 4) { 
        $(this).css('backgroundColor', 'RED'); 
       } 
       else if((D1 - D2) < 7) && ((D1 - D2) > 4) { 
        $(this).css('backgroundColor', 'YELLOW'); 
       } 
       else { 
        $(this).css('backgroundColor', '#99faa0'); 
       } 

      }); 
      event.preventDefault(); 
    }); 

    </script> 
+0

Dies könnte helfen http://stackoverflow.com/questions/41948/how-do-i -get-the-difference-zwischen-zwei-dates-in-javascript – Coleman

Antwort

0

Sie müssen die Daten korrekt konvertieren und zu vergleichen. Im Folgenden ist das Beispiel Daten zu vergleichen.

Referenz:

Get difference between 2 dates in javascript?

var _MS_PER_DAY = 1000 * 60 * 60 * 24; 

// a and b are javascript Date objects 
function dateDiffInDays(a, b) { 
    // Discard the time and time-zone information. 
    var utc1 = Date.UTC(a.getFullYear(), a.getMonth(), a.getDate()); 
    var utc2 = Date.UTC(b.getFullYear(), b.getMonth(), b.getDate()); 
    return Math.floor((utc2 - utc1)/_MS_PER_DAY); 
} 

Arbeitsprobe

https://jsfiddle.net/zsLfh3kj/1/

+0

Wenn Sie eine Frage finden, die bereits gewesen ist gefragt, bitte kennzeichnen Sie die Frage als ein Duplikat der Frage, die Sie gefunden haben. Bitte beantworte es nicht. –

+0

Danke. Zwischen diesen und den anderen Verbindungen konnte ich es herausfinden. –