HTML表格中的条件警报

时间:2016-06-01 19:47:15

标签: javascript jquery html css date

我已经设法根据我的ERP系统的输出自动构建一个HTML表,并设法使用CSS轻松地格式化它。最后一步是日期字段中的条件格式。如果日期是<从现在起,如果它在4>之间,则使该字段为RED。从现在开始7天,使其为黄色,而不是格式化。

我已经从这个网站上的几十个例子中得到了这个,我希望你可以帮我做一些基本的日期数据,由于某些原因我无法理解。

现在我的日期字段位于td:nth-​​child(4)中,我希望将其与当前日期进行比较。

    <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>

1 个答案:

答案 0 :(得分:0)

您需要正确转换和比较日期。以下是比较日期的示例。

参考:

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);
}

工作样本

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