返回日期输出来自角度日期范围滑块的两个不同变量

时间:2017-05-23 08:05:44

标签: javascript angularjs angular-material date-range angular-daterangepicker

我使用AngularJS和Angular材质创建了一个日期范围滑块,但是目前我能够将日期范围的最小值和最大值作为单个变量返回,但我想存储并通过两个单独的变量返回这些值稍后将在POST请求中使用。

e.g。

var a:2016-01-01T00:00:00

var b:2018-01-01T00:00:00

这是当前代码的工作小提琴。

https://jsfiddle.net/rehan516/m0ygxvdj/

HTML                       

path = "//ggco/kk"
shp_list = []
for dirpath, dirnames, x in os.walk(path):

    for f in x:
        if f.startswith(Lot_Operation_combine1) and f.endswith(".html"):
            fullpath = os.path.join(dirpath, f)
            shp_list.append(fullpath)
            kau = ''                
            with open(fullpath, 'r')as f:
                f_contens = f.read()

                print(f_contens)

                kau = f_contens
                context = {"Final": kau}

JS

<script src="https://rawgit.com/rzajac/angularjs-slider/master/dist/rzslider.js"></script>
<div ng-app="rzSliderDemo">
    <div ng-controller="MainCtrl" class="wrapper">
        <article>
          {{slider.minValue}}
          {{slider.maxValue}}
            <rzslider  rz-slider-model="slider.minValue"
          rz-slider-high="slider.maxValue"
          rz-slider-options="slider.options"></rzslider>
        </article>
        </div>
        </div>

POST QUERY

var app = angular.module('rzSliderDemo', ['rzModule', 'ngMaterial','ngAnimate','ngAria']);

app.controller('MainCtrl', function ($scope, $rootScope) {
var date1 = new Date(2017, 3, 1);
var date2 = new Date();
var day;
var dateArray = [date1];
while(date1 <= date2) {
    day = date1.getDate()
    date1 = new Date(date1.setDate(++day));  
    dateArray.push(date1);
}
$scope.slider = {
   minValue: dateArray[0],
  maxValue: dateArray[dateArray.length-1],
  value: dateArray[0], // or new Date(2016, 7, 10) is you want to use different instances
  options: {
    stepsArray: dateArray,
    translate: function(date) {
      if (date != null)
        return date.toISOString();//returning date range
      return '';
    }
  }
};
});

1 个答案:

答案 0 :(得分:1)

评论中的建议运作良好。这是我更新 JS 文件中的`$ scope.slider部分。

$scope.slider = {
      minValue: dateArray[0],
     maxValue: dateArray[dateArray.length-1],
     value: dateArray[0], // or new Date(2016, 7, 10) is you want to use different instances
     options: {
       stepsArray: dateArray,
       translate: function(date) {
         if (date != null)
         lower =$scope.slider.minValue;
         upper =$scope.slider.maxValue;
           return date.toISOString();
       }
     }
   };

我添加了两个新变量,然后将这些变量传递给我的POST请求。