2014-04-09 9 views
5

Voglio usare un pulsante per mostrare e nascondere il datario.Trigger manuale di show/hide in angularstrap datepicker

http://mgcrea.github.io/angular-strap/##datepickers

non ci sono documentazioni su come fare questo

var app = angular.module('mgcrea.ngStrapDocs', ['ngAnimate', 'ngSanitize', 

'mgcrea.ngStrap']); 

app.controller('MainCtrl', function($scope) { 
}); 

'use strict'; 

angular.module('mgcrea.ngStrapDocs') 

.config(function($datepickerProvider) { 
    angular.extend($datepickerProvider.defaults, { 
    dateFormat: 'dd/MM/yyyy', 
    startWeek: 1,trigger:manual 
    }); 
    }) 

.controller('DatepickerDemoCtrl', function($scope, $http,$datepicker) { 


//ng-click 
    $scope.datepickerpop = function() { 

    $datepicker.show(); 
    //$datepicker._show(); 

    }; 

}); 

risposta

7

Questo è ora molto più semplice con v2.0.4 di ngStrap Datepicker. Per ulteriori dettagli, vedere this Github comment. Ecco a working plunk to demonstrate the datepicker as both a manually-triggered dropdown, and as a manually-triggered inline element.

<bs-datepicker ng-model="myDatepicker.date" data-bs-show="myDatepicker.show"></bs-datepicker> 

nel controller:

$scope.myDatepicker = { 
    date: null, 
    show: false 
}; 

Avrete anche bisogno di ignorare il CSS:

bs-datepicker[bs-show] .datepicker.dropdown-menu, 
bs-datepicker[bs-show] + .datepicker.dropdown-menu, 
bs-datepicker[data-bs-show] .datepicker.dropdown-menu, 
bs-datepicker[data-bs-show] + .datepicker.dropdown-menu { 
    position: relative; 
    top: 0 !important; 
    left: 0 !important; 
} 

per mostrare sempre il DatePicker, basta cambiare l'attributo di data-bs-show="true".

Se si aggiunge l'attributo data-container="self", il datepicker verrà inserito all'interno dell'elemento <bs-datepicker>, che potrebbe essere utile in base alle proprie esigenze.

+0

I pulsanti di scelta rapida del calendario non vengono visualizzati nel sito demo di angularstrap, ma lo fanno nel collegamento Plunker. Come hai fatto a far apparire i pulsanti freccia? In Chrome sono piccole scatole e IE non renderizza alcun pulsante, ma posso fare clic su un pulsante vuoto/vuoto in IE – Rick

Problemi correlati