TECHNOLOGIES
FORUMS
JOBS
BOOKS
EVENTS
INTERVIEWS
Live
MORE
LEARN
Training
CAREER
MEMBERS
VIDEOS
NEWS
BLOGS
Sign Up
Login
No unread comment.
View All Comments
No unread message.
View All Messages
No unread notification.
View All Notifications
Answers
Post
An Article
A Blog
A News
A Video
An EBook
An Interview Question
Ask Question
Forums
Monthly Leaders
Forum guidelines
Sandeep Choudary
NA
79
10.4k
Bind data based on the drop down selection from JSON in AngularJS
May 31 2021 3:02 AM
I hope you guys are doing good in this pandemic time and spare some time to help me out.
I am trying to filter the data based on the drop-down selections of a drop-down list. Here I will get the data from the JSON input.
Here in the Filing Date, I have selected 06/30/2022 so for this date the below region offices are available.
So if I change the date to any another date like 07/30/2022 it is showing only 2 region offices
And if we expand the + icon it should display the values like below. That is the requirement and I am done with writing the code for expanding collapse functionality.
However, I am not sure how I need to bind the data associated with the date and display below. Here is the code I have written
var
app = angular.module(
'acturial'
, [
'ui.bootstrap'
]);
////configure routes
//// TODO:Will implement and configure routes but for now it is not needed
//app.config(function ($routeprovider) {
// $routeprovider
// // route for default page
// // in our case only page exists for now
// .when('/', { templateurl: 'Index.html', controller: 'Regioncontroller' })
// //todo: can able to add more pages using by specifting the condition in when clause
//});
var
RegionController =
function
($scope, $http) {
$scope.title =
"Acturial App"
;
//$scope.data = [{
// "name": "Billings",
// "values": ['300031', '300051', '300091', '300111', '300131']
//}];
var
regionDetails = [
{
"date"
:
"6/30/2022"
,
"regionOffice"
: [
{
"name"
:
"Valdosta"
,
"values"
: [
"300031"
,
"300051"
,
"300091"
,
"300111"
,
"300131"
]
},
{
"name"
:
"Jackson"
,
"values"
: [
"300031"
,
"300051"
,
"300091"
,
"300111"
,
"300131"
]
},
{
"name"
:
"Springfield"
,
"values"
: [
"300031"
,
"300051"
,
"300091"
,
"300111"
,
"300131"
]
},
{
"name"
:
"Billings"
,
"values"
: [
"300031"
,
"300051"
,
"300091"
,
"300111"
,
"300131"
]
}
]
},
{
"date"
:
"7/30/2023"
,
"regionOffice"
: [
{
"name"
:
"Springfield"
,
"values"
: [
"300031"
,
"300051"
,
"300091"
,
"300111"
,
"300131"
]
},
{
"name"
:
"Billings"
,
"values"
: [
"300031"
,
"300051"
,
"300091"
,
"300111"
,
"300131"
]
}
]
}
];
$scope.dataArray = regionDetails;
//var billingDetails = {
// name: 'Billings',
// values: ['300031', '300051', '300091', '300111', '300131']
//}
//$scope.data = billingDetails;
// TODO:Still have to make some improvements for the below functions
// The below code will be used when we have WebAPI endpoint so we can use that to populate the data
// instead of the static/hard-coded data
//var onUserComplete = function (response) {
// $scope.data = response.data;
// $http.get($scope.regionUrl)
// .then(onRepos, onError);
//}
//onRepos = function (response) {
// $scope.data = response.data;
//};
//var onError = function (response) {
// $scope.error = "Couldn't able to retreive the data";
//}
$scope.expandedRegion =
null
;
$scope.manageCollapseExpand =
function
(obj, isExpandedRegion) {
obj.expanded = !obj.expanded;
if
(obj.expanded) {
if
(!isExpandedRegion) {
$scope.expandedRegion = obj;
}
}
}
};
app.controller(
"RegionController"
, [
"$scope"
,
"$uibModal"
,
"$http"
, RegionController]);
Here is the HTML Page
<!DOCTYPE html>
<html ng-app=
"acturial"
ng-controller=
"RegionController"
>
<head>
<meta charset=
"utf-8"
/>
<title>{{title}}</title>
<script src=
"//ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.js"
></script>
<script src=
"//ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular-animate.js"
></script>
<script src=
"//angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.14.3.js"
></script>
<script src=
"Scripts/angular.js"
></script>
<script src=
"acturial.js"
></script>
<script type=
"text/javascript"
src=
"https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular-route.js"
></script>
<link data-require=
"bootstrap-css@*"
data-semver=
"4.0.0-alpha.4"
rel=
"stylesheet"
href=
"https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.4/css/bootstrap.min.css"
/>
<link data-require=
"font-awesome@*"
data-semver=
"4.5.0"
rel=
"stylesheet"
href=
"https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.css"
/>
<link href=
"//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css"
rel=
"stylesheet"
>
</head>
<body>
<div
class
=
""
>
<label>
Filing Date:
</label>
<select ng-model=
"data.date"
ng-options=
"data.date.name for data in dataArray"
>
<option value=
""
> </option>
</select>
<br />
</div>
<div
class
=
""
>
<button
class
=
"btn"
ng-click=
"manageCollapseExpand(region, false)"
>
<span ng-
class
=
"{'glyphicon glyphicon-minus': region.expanded, 'glyphicon glyphicon-plus': !region.expanded }"
></span>
</button>
{{region.name}} ({{region.values.length}})
</div>
<div
class
=
""
ng-show=
"region.expanded"
>
<div
class
=
""
ng-repeat=
"value in region.values"
>
<div
class
=
""
>
{{value}}
</div>
</div>
</div>
</body>
</html>
So can you please help me with binding the data associated with the drop-down selected value and display below?
Reply
Answers (
1
)
MSAL Authentication Implementation
How to get number of users as a count in a webpage in Angular?