如何在循环外部获取日期差异?

时间:2018-01-10 11:21:49

标签: javascript jquery html css angularjs

我在不同的div中有多个开始日期。如果当前日期的div日期超过365天,我需要隐藏付款按钮。奥雷尔我需要表现出来。我想在angularjs中这样做。

1)如果第一个div日期差异小于365天,我需要显示付款按钮。否则我需要隐藏。

2)与所有div相同。我有超过50个div。

enter image description here

{
date:[{
  date:"01/01/2016"
}
{
  date:"01/01/2016"
}
{
  date:"01/01/2016"
}
{
  date:"01/01/2016"
}
{
  date:"01/01/2016"
}
{
  date:"01/01/2016"
}

]
}
   var date2 = new Date();
   var timeDiff = Math.abs(date2.getTime() - date1.getTime());
   var diffdate = Math.ceil(timeDiff / (1000 * 3600 * 24));
   
   for (var i=0;i<data.length;i++){
    var date1 = data[i].date;
    var date2 = new Date();
   var timeDiff = Math.abs(date2.getTime() - date1.getTime());
   var diffdate = Math.ceil(timeDiff / (1000 * 3600 * 24));
   $scope.differnece = diffdate.map(Number) 
    if($scope.differnece > 365){
     $("$pay").hide();
   }else{
     $("#pay").show();

  }
   }
   

<button id="pay">Pay</button>

这里内循环我得到了所有两个日期之间的差异。但请帮助我如何根据每个div差异日期写出条件。

1 个答案:

答案 0 :(得分:0)

在你的控制器中,

首先初始化

 $scope.showButton = true;   //To show the button initially. Else set it to  false.

<强>编辑:

由于您使用多个分部,

 if($scope.differnece > 365){
   if($scope.showButton) {
       $scope.showButton = false;
   }
 }

在yout模板中,使用ng-show指令。

  <button id="pay" ng-show="showButton">Pay</button>

当showButton的值为true时,显示按钮,当设置为false时,按钮将隐藏。