2017-10-09 53 views
0

我使用角矩选择器。我想从数据库中动态禁用一些日期。我使用可选方法,但它在选定日期后生效。任何人都可以帮助我动态禁用日期?如何使用角矩选择器动态禁用日期

视图

<div class="col-md-2" > 
    <div class="form-control" start-view="month" id="stringDate" moment-picker="stringDate" 
    format="DD-MM-YYYY" locale="en" name="pickdate" ng-model="momentDate" 
    selectable="dateDisable(date,type)" required> 
    <a class="pull-right" ng-if="stringDate" ng-click="stringDate = ''"> &times; </a> 
    <span ng-class="{'text-muted': stringDate}"> 
     {{stringDate || 'Select a date...' }} 
    </span> 
</div> 

视图控制器

$scope.dateDisable = function(date,type) 
{ 
    var check = 0; 
    for(var i=0;i<=$scope.leavedates.length;i++) { 
     var disable = $scope.leavedates[i].Date_selected; 
     check = type !== 'day' || date.format('DD-MM-YYYY') !== disable; 
     if(!check) { 
      return false; 
     } 

    } 
}; 
$scope.leavedates =[]; 
$scope.getDatesSelect_asleave = function() 
{ 
    $http.post('url').success(function(response) { 
    $scope.leavedates =response; 


    }); 
}; 

回答

-1

您需要使用selectable method允许从数据库日期的选择或作为例子,你可以看到,周日不可选。

您将从数据库中获取日期列表,这些日期可以是可选择的或不可以的,然后您可以创建类似的功能并根据选择返回true或false。

如果您想尝试自己的函数,那么在页面上有一个plunkr link,然后创建一个从数据库中获得的json对象,并将您的检查放在可选方法中,以查看它是否适合您的需要。

+0

选取器在从数据库获取日期之前运行。所以日期不能禁用。 –

+0

这是一种方法,所以在获得日期后应该能够在拾取器对象上调用它。 –

+0

$ scope.leavedates是数组变量包含要禁用的日期集合。在获得数组中的值之后,我将如何调用可选方法/以及参数如何传递。 –

相关问题