1

Ich bin neu zu angularjs und auch für ng-admin.Ich benutze ng-admin für mein Projekt. Darin mache ich eine benutzerdefinierte Seite, in der ich die UI-Bootstrap-Datumsauswahl verwenden muss. Ein Popup kommt nicht. Unten ist mein Code.UI Bootstrap Datumsauswahl funktioniert nicht in ng-admin benutzerdefinierte Seite

hier ist mein benutzerdefinierter Seitencode.

<div class="input-group datepicker"> 
    <input type="text" ng-model="rawValue" id="" name="{{ name }}" class="form-  control" 
    uib-datepicker-popup="{{ format }}" is-open="isOpen" ng-required="{{v}}"/> 
<span class="input-group-btn"> 
    <button type="button" class="btn btn-default" ng-click="toggleDatePicker($event)"> 
     <i class="glyphicon glyphicon-calendar"></i> 
    </button> 
</span> 
</div> 

hier ist mein Javascript-Code.

$scope.rawValue = new Date(); 

$scope.format = "yyyy-MM-dd"; 

$scope.v = true; 
$scope.isOpen = false; 

    $scope.toggleDatePicker = function ($event) { 
    $event.preventDefault(); 
    $event.stopPropagation(); 

    }; 

Bitte helfen Sie mir in dieser Hinsicht.

Eigentlich, wenn ich ui-bootsrap.min.js Datei in "index.html" benutzerdefinierte Seite einbinden funktioniert datepicker gut. Aber ng-admin normale Seite datepickers und Filter Popups funktionieren nicht.

+0

Ist es möglich, dass es nur unter anderen Elementen versteckt? Haben Sie versucht, die Anweisung datepicker-append-to-body = true zu verwenden? –

+0

möglicherweise haben Sie Version Problem Bootstrap verwenden Version '1.0.3' –

+0

Wie Sie die Version von UI-Bootstrap in NG-Admin kennen. Eigentlich habe ich die ng-admin.min.js-Datei überprüft, aber es wird nicht die Version von ui-bootstrap angezeigt. –

Antwort

0

Deinetwegen verwendet is-open="isOpen" in Ihrem Input-Tag und setzen $scope.isOpen = false; in Ihrem Controller aber wenn Aufruf toggleDatePicker Funktion auf Tastenklick hat nicht gesetzt $scope.isOpen = true;

so $scope.isOpen = !$scope.isOpen; für Toggle festlegen müssen

$scope.toggleDatePicker = function ($event) { 
    $event.preventDefault(); 
    $event.stopPropagation(); 
    $scope.isOpen = !$scope.isOpen; 
}; 

Anm .: Vergewissern Sie sich, dass Sie 'ui.bootstrap' in Ihrem Modul

richtig injiziert haben

Aktualisiert:

Absolut sollten Sie ui-bootsrap.min.js in index.html Datei enthalten wegen ng-admin nicht ui-bootsrap enthalten waren. So wird Ihr Modul wie sein:

angular.module('yourModuleName', ['ng-admin', 'ui.bootstrap']); 
+0

Ich habe versucht wie oben, aber es hat nicht für mich funktioniert. Eigentlich in HTML-Datei Webstorm zeigt "is-open" -Attribut ist nicht erlaubt innerhalb Tag. –

+0

irgendein Fehler in der Konsole angezeigt? webstorm warning kein Problem, weil 'is-open' kein gültiges HTML-Attribut –

+0

kein Fehler in der Konsole zeigt. Datum kommt auch nicht in "JJJJ-MM-TT" -Format im Eingabefeld. Es kommt wie Vollformat-Datum wie "Sun 24. April 2016 17:35:23 GMT + 0530 (India Standard Time)". –

Verwandte Themen