0
フィルタの値に基づいてページの一部を表示および非表示にしようとしています。データの長さが1の場合、特定のフィールドが表示されるはずですし、そのゼロ場合は、ページの異なる部分は、フィルタの結果を使用して値に基づくビューを表示する
<div ng-show="results.length=0">
<h4 class="redtext" align="center">Sorry, Search found no records </h4>
</div>
<div ng-show="results.length!=0" ng-repeat="item in record | dateRange : from : to">
<table width="100%" border="0" cellspacing="5" cellpadding="5">
<tr>
<td width="70%"><div align="left">
<p><strong>Bill Period</strong> </p>
</div></td>
<td width="82%">{{item.Date |date: 'MMMM yyyy'}}</td>
</tr>
<tr>
<td><p><strong>Reading Date</strong></p></td>
<td>{{item.Date |date: 'dd MMMM yyyy'}}</td>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
</table>
JS
$scope.state_request = function() {
$http.post("http://localhost/server/statement.php", {
'id': $scope.account_number
}).success(function(data) {
console.log(JSON.stringify(data));
$scope.record = data;
})
$scope.from = $filter('date')($scope.sdate, "yyyy-MM-dd" + 'T00:00:00') + 'Z';
$scope.to = $filter('date')($scope.edate, "yyyy-MM-dd" + 'T00:00:00') + 'Z';
}
})
.filter('dateRange', function() {
return function(records, from, to) {
// return empty array if input not defined or not array
if (!records || !angular.isArray(records)) {
return [];
}
var results = records.filter(function(record) {
// run console log tests here...before the return
return record.Date >= from && record.Date <= to;
});
if (results.length = 0) {
console.log('its empty')
} else {
console.log('results found')
}
console.log('Number of results:', results.length);
return results;
}
})
スクリプトが実行されたときに何も表示されませんが表示されるはずです