2014-01-07 8 views
7

Ich baue eine Anwendung mit Twitter Bootstrap, Angular js und Taffy DB.Twitter Bootstrap Datepicker in Angular js

javascript:

$(function() { 
    $('#datepicker').datepicker(); 
    }); 

    $scope.submit = function() { 
    console.log($scope.eventdate); 
    }; 

HTML:

<label for="eventdate">Date</label> 
    <div class="input-append date" id="datepicker" data-date-format="dd-mm-yyyy"> 
    <input class="span2" size="20" type="text" id="eventdate" ng-model="eventdate"> 
    <span class="add-on"><i class="icon-th"></i></span> 
    </div> 

Aber console.log($scope.eventdate); ist nicht definiert.

Bitte Rat

+0

Nicht auf diese Weise. Du kannst jquery und angularjs nicht mischen. Sehen Sie sich die angular-ui Bootstrap-Komponenten an http://angular-ui.github.io/bootstrap/ an. Im Grunde brauchen Sie eine Richtlinie dafür. – Chandermani

Antwort

-2

Verwenden Sie den Winkel directive für Jquery Datepicker

Demo

+1

Genau genommen handelt es sich hierbei nicht um eine Angular-Direktive, sondern um eine Direktive aus der angular-ui-Bibliothek von Drittanbietern. – Stewie

19

Wenn Sie Angular, datepicker in Richtlinie gestellt entschieden:

JS

app.controller('MainCtrl', function($scope) { 
    $scope.var1 = '12-07-2013'; 
}); 


app.directive('datetimez', function() { 
    return { 
     restrict: 'A', 
     require : 'ngModel', 
     link: function(scope, element, attrs, ngModelCtrl) { 
      element.datetimepicker({ 
      dateFormat:'dd-MM-yyyy', 
      language: 'en', 
      pickTime: false, 
      startDate: '01-11-2013',  // set a minimum date 
      endDate: '01-11-2030'   // set a maximum date 
      }).on('changeDate', function(e) { 
      ngModelCtrl.$setViewValue(e.date); 
      scope.$apply(); 
      }); 
     } 
    }; 
}); 

HTML

<div class="container container-fluid" ng-controller="MainCtrl"> 
     var1={{var1}} 
     <form class="form-horizontal" novalidate name="form" ng-submit="submit()"> 
     <div class="well"> 
     <div id="date" class="input-append" datetimez ng-model="var1"> 
      <input data-format="MM-dd-yyyy" type="text" id="input1" name="input1"></input> 
      <span class="add-on"> 
      <i data-time-icon="icon-time" data-date-icon="icon-calendar"></i> 
      </span> 
     </div> 
     </div> 

Plunker

+0

Irgendwie taucht der Kalender nicht in meiner Form auf. Brauchen Sie Momentjs dafür? – thethakuri

-1

Ich hoffe, das hilft, ich suchte nach einem einfachen Beispiel, aber ich konnte es nicht finden, fand ich aber voll von Code und Links und ich habe es gereinigt, hier ist das einfachste Arbeitsbeispiel von Datepicker mit eckigen Bootstrap:

--->sample page < ---

+0

Sie verwenden es nicht einmal in einer Direktive? Sie haben gerade einen Controller umgangen, der nicht existiert? Fehle ich etwas? – Davis

+0

Dies ist ein defekter Link –

Verwandte Themen