2014-11-12 2 views
0

나는 angularJS ng-repeat로 만든 테이블이 있습니다. 지도에있는 마커를 클릭하면 프로그래밍 방식으로 내 행 중 하나를 강조 표시 (setSelected) 할 수 있습니까? http://jsfiddle.net/52hfonsq/지도에서 표 행을 선택하십시오. 각도/Google지도 통합

+0

를 참조하십시오

여기
 <table class="table"> <thead> <tr> <th>Line ID</th> <th>Type</th> <th>Color</th> </tr> </thead> <tbody> <tr id="linesList" ng-repeat="line in lines | orderBy: 'line_id'" ng-click="setSelected($event, line.line_id)" ng-class="{selected : line.line_id === line_id}"> <td>{{line.line_id}}</td> <td>{{line.line_type}}</td> <td>{{line.line_color}}</td> </tr> </tbody> </table> 

내 코드입니다 : 여기 내 테이블의 'tr', 당신의 코드가 나에게 맞는 것 같아요. 당신은 언제나 plnker를 만들 수 있습니다. 그러면 제가 그곳을 볼 수 있습니다. –

+0

이 표에서 행을 선택하고 강조 표시 할 수 있습니다. 그러나이 표에서 버튼을 클릭하면 행 중 하나를 강조 표시하려고합니다. – Roo

+0

그 버튼이 모델의'selected' poroperty를 변경하게합니다. plnker를 만들고 너에게 보여줄 수있어 –

답변

1

난 당신이 클래스를 변경`td`에 넣어보다는한다고 생각 데모 여기 http://jsfiddle.net/7w6gh4we/1/

google.maps.event.addListener(marker, 'click', function() { 
      console.log(marker); 


      $scope.safeApply(function() { 
      $scope.idSelected = marker.line_id; 
     }); 

      infoWindow.setContent('<h2>' + marker.title + '</h2>' + marker.content); 
      infoWindow.open($scope.map, marker); 
     }); 


$scope.safeApply = function (fn) { 
     var phase = this.$root.$$phase; 
     if (phase == '$apply' || phase == '$digest') { 
      if (fn && (typeof (fn) === 'function')) { 
       fn(); 
      } 
     } else { 
      this.$apply(fn); 
     } 
    }; 
+0

@Roo 내 답장을 업데이트했습니다. – sylwester

관련 문제