2017-10-09 2 views
0

J'utilise un sélecteur de moment angulaire. Je voulais que certaines dates désactivent dynamiquement de la base de données. J'utilise sélectionnable Méthode mais cela fonctionne après la date sélectionnée. Tout le monde peut m'aider à désactiver la date dynamiquement?Comment désactiver les dates à l'aide du sélecteur de moment angulaire

vue

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

View Controller

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


    }); 
}; 

Répondre

-1

Vous devez utiliser le selectable method pour permettre la sélection des dates de base de données ou comme dans l'exemple, vous pouvez voir que le dimanche ne peut être sélectionné.

Vous aurez une liste de dates obtenues à partir de la base de données qui sont sélectionnables ou non, vous pouvez créer une fonction similaire et retourner vrai ou faux selon la sélection.

Il ya un plunkr link sur la page elle-même si vous voulez essayer votre fonction puis créer un objet json que vous obtenez à partir de votre base de données et placez votre chèque dans la méthode sélectionnable pour voir si cela répond à vos besoins.

+0

Le sélecteur s'exécute avant d'obtenir la date de la base de données. Donc, les dates ne peuvent pas être désactivées. –

+0

Il s'agit d'une méthode qui devrait être capable de l'appeler sur l'objet sélecteur après l'obtention des dates. –

+0

$ scope.leavedates est la variable tableau contenant l'ensemble de dates à désactiver. Après avoir obtenu des valeurs dans le tableau, Comment vais-je appeler la méthode selctable/et Comment les paramètres vont passer. –