2013-05-29 12 views
9

Próbuję użyć datepicker taśmy paskowych UI. Jak wybrać więcej niż jedną datę z datepicker i zwrócić wartość jako tablicę.Angularjs bootstrap datepicker: Wybierz wiele dat

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

+0

ja nie widzę powodu, to nie jest wielokrotnego wyboru pliku. Czy możesz wyjaśnić powód, przykład. Naprawdę nigdy nie widziałem czegoś takiego. DatePIcker obsługuje tylko jedną datę i wypełnia pole tekstowe –

+0

. Myślę, że ma na myśli coś w rodzaju rezerwacji wakacji w linii lotniczej. Możesz wybrać kilka dni. Angular-ui's datePicker nie obsługuje tego, więc @Abre będzie musiał stworzyć własną dyrektywę. –

+0

tak, coś takiego. http://multidatespickr.sourceforge.net/ –

Odpowiedz

2

Dyrektywa że pracujesz z nie obsługuje multi-datepicker, który chcesz. Zawsze możesz przejść do czegoś takiego jak Bootstrap Datepicker i niekoniecznie trzymać się dyrektywy Angular.

Twoja opcja jest dość ograniczona pod tym względem, chyba że dostosujesz dyrektywę tak, jak chcesz, aby się zachowywała.

3

Można użyć dyrektywy gm.datepickerMultiSelect, która owija dyrektywę datepicker ui-bootstrap, dodając funkcję wielokrotnego wyboru.

<div ng-controller='AppCtrl'> 
    <datepicker ng-model='activeDate' multi-select='selectedDates'></datepicker> 
</div> 


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

function AppCtrl($scope) { 
    $scope.activeDate; 

    //THIS IS WHERE YOU CAN INITIALIZE VALUES 
    $scope.selectedDates = [new Date().setHours(0, 0, 0, 0), new Date(2015, 2, 20).setHours(0, 0, 0, 0), new Date(2015, 2, 10).setHours(0, 0, 0, 0), new Date(2015, 2, 15).setHours(0, 0, 0, 0)]; 

    $scope.removeFromSelected = function (dt) { 
     $scope.selectedDates.splice($scope.selectedDates.indexOf(dt), 1); 
    } 
} 

Jest artykuł na ten temat na moim blogu http://irhadbabic.com/?p=351 Również tutaj działa JSFiddle że można użyć http://jsfiddle.net/prdkvp7u/4/

+1

JSFiddle już nie działa – Tdy

Powiązane problemy