2016-05-05 9 views
1

So habe ich den Code unten gezeigt. Über die Benutzeroberfläche kann der Benutzer ein einzelnes Datum auswählen oder einen Datumsbereich auswählen. Diese sind in Span-Tags und es gibt ein "-" Ich versuche hinzuzufügen, wenn das ToDate ein Datum hat, sonst zeige nicht das "-" (Bindestrich). Versuchte verschiedene Varianten und nicht sicher, warum das nicht richtig funktioniert. Irgendwelche Ideen?Zeichen hinzugefügt, wenn 2 Spannen Daten haben

Code:

<span class="claimedRight" style="padding-right: 1px; display:block; width: 175px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; float: right; text-align: right; padding-right: 10px;">{{ item.fromDate | date: 'MM/dd/yyyy' }} <span ng-show="item.toDate.length > 0">-</span><span>{{ item.toDate | date: 'MM/dd/yyyy' }}</span></span> 

Antwort

1
ng-show="item.toDate && item.toDate.toString().length > 0" 

oder einfach nur benutzen ng-show="item.toDate"

Da DateDate Länge ist es nicht so konvertieren stringtoString verwenden und dann überprüfen Sie die Länge

var app = angular.module('app',[]); 
 

 
app.controller('ctrl', function($scope){ 
 
    $scope.item = {toDate:new Date(),fromDate:new Date()}; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="app" ng-controller="ctrl"><span class="claimedRight" style="padding-right: 1px; display:block; width: 175px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; float: left; text-align: right; padding-right: 10px;">{{ item.fromDate | date: 'MM/dd/yyyy' }} <span ng-show="item.toDate && item.toDate.toString().length > 0">-</span><span>{{ item.toDate | date: 'MM/dd/yyyy' }}</span></span></div></div>

+1

Super Antwort! Danke vielmals! – Mark

1

Verwenden CSS

<span class="dash-prefix" ng-show="item.toDate">{{ item.toDate | date: 'MM/dd/yyyy' }}</span> 

und

.dash-prefix:before { 
    content: " - "; 
} 

https://jsfiddle.net/ko771qsj/

+0

Große Vorschlag funktioniert! Danke vielmals! – Mark

Verwandte Themen