2016-06-10 1 views
0

코드 : http://happyshappy.13llama.com/wp-json/llama/v1/stats각도 JS에서 Dyamic JSON 드롭 다운 메뉴를 추가하는 방법

난에서 차트의 상단에 드롭 다운 메뉴를 넣을 :이 JSON 파일에서 웹 로그 분석 차트는 http://plnkr.co/edit/0eHQPVRHmCWelK6VEYVE?p=preview

드롭 다운에서 JSON의 "label"요소는 GET을 통해 표시되어야합니다. 사용자가 레이블을 선택하면 해당 데이터가 차트에 표시됩니다.

최대한 빨리 도와주세요.

app.controller('MainCtrl', function($scope, $http) { 
$http.get('http://happyshappy.13llama.com/wp-json/llama/v1/stats').then(function(response) { 
var visitDates = response.data.visits.labels.map(function(dateString) { 
    return new Date(dateString); 
}); 

$scope.visits = response.data.visits.datasets; 
var dateData = []; 
var countData = [], index = 0 , i; 
angular.forEach($scope.visits, function(dataSet) { 
    dataSet.data = dataSet.data.map(function(count, i) { 
    index++; 
    dateData[i] = visitDates[i]; 
    countData[i] = count; 
    return { 
     date: visitDates[i], 
     count: count, 
     dateData: dateData, 
     countData: countData 
    }; 
    }); 
}); 
+0

http://happyshappy.13llama.com/wp-json/llama/v1/stats가 작동하지 않으므로 JSON을 볼 수 없습니다. – miquelarranz

+0

수정 됨! 다시 확인하고 가능한 빨리 해결책을 제안하십시오 –

답변

0

난 전혀 당신이 원하는 무엇을하는지 잘 모르겠지만, 당신이 라벨을 클릭하면 당신이 레이블이있는 선택을 원하고 나는 것은 다음 차트는 오른쪽 라벨의 값을 표시 ?

<select ng-options="item as item.label for item in visits" ng-click="changeValues()" ng-model="selected"></select> 

그리고 당신이

$scope.changeValues() { 
    // You have the selected label in $scope.selected, so you have to iterate 
    // over the visits array and then set the data where label == $scope.selected in the chart values 
} 

를 컨트롤러에 내가 지금 그것을 테스트 할 수있는 함수를 작성하지만 아이디어는 당신이 문제를 해결하는 데 도움이되기를 바랍니다.

+0

안녕하세요! 답장을 보내 주셔서 감사합니다. 첫 번째 코드가 작동 중입니다. 두 번째 코드로 무엇을해야하는지 이해하지 마십시오. :( –

+0

여기 좀보세요 : http://plnkr.co/edit/lcGPGIluRidtUr8V6mIm?p=preview –

관련 문제