2016-04-24 185 views
0

如何在angularjs中动态设置最小最大日期。我的意思是,如果我在angularjs中设置最短日期,它应该自动绑定到前端。这是我在我的控制器写的 $ scope.from1date ='2016-12-31'; $ scope.to1date ='2016-12-31'; 当我在我的控制器中更改我的最短日期时,它应该反映在我的前端页面中,以及如何做到这一点...Angularjs min max date

+0

并在我的控制器中$ scope.from1date ='2016-12-31'; $ scope.to1date ='2016-12-31'; –

回答

1

它似乎适用于我。你有没有在W3School的angularjs控制器上看看this tutorial?我猜你的整体逻辑可能是某种错误/错误。特别是,本教程中的this code snippet正是您需要的格式(您甚至可以将其复制粘贴到您的源代码中),并将您在文章评论中提供的确切代码放在其中。那么你可能会注意到你出错的地方。

我希望这有助于 - 让我知道它是怎么回事!

编辑:我明白了,这里是你出错的地方。您需要使用Date对象(请参阅MDN文档中的Date)。

简单地说,这样的事情应该这样做:

$scope.from1date= new Date(2015, 12, 20); //'2016-12-20'; 
$scope.to1date= new Date(2015, 12, 31); //'2016-12-31'; 
+0

喜兄弟.... ng模型的作品,但我想约束最小最大日期,如果你知道如何做,请lemme知道 –

+0

嘿,我明白了。对不起,误解了您的原始问题。我更新了我的答案。让我知道是否有任何问题,并希望这有助于! – user3773048

+0

这有帮助吗?如果不是,请告诉我。如果这是您正在寻找的内容,请随时将我的答案标记为已接受。 – user3773048

0

我想给大家简单的例子。希望这可以帮助。如果这不起作用,请让我知道具体情况以进一步检查它。我已经固定了一个日期,另一个使用了系统日,以获得更好的示例。

控制器代码

var app = angular.module('myApp', []); 

    app.controller('myCtrl', function ($scope) { 
     $scope.minDate = new Date("July 21, 1983 01:15:00"); 
     $scope.maxDate = new Date(); 
    }); 

HTML代码

我已经加入日期在文本框中的一个过滤器。您可以根据需要添加日期过滤器。

<head> 
     <title></title>  
     <script src="../Scripts/angular.js"></script> 
     <script src="../js/DateTest.js"></script>  
    </head> 
    <body> 
     <div ng-app="myApp" ng-controller="myCtrl"> 
      Min Date: <input type="text" ng-model="minDate | date: medium"><br> 
      Max Date: <input type="text" ng-model="maxDate"><br> 
      <br>   

     </div> 

    </body> 

The result appears as follows

+0

如果上述解决方案有效,请告诉我。很高兴为您提供帮助,如果需要更多详细信息 –

+0

如果上述解决方案有帮助,请接受答案或让我知道您遇到的问题 –