2017-11-07 13 views
0

Google지도를 사용하여 목적지까지 길을 안내 할 수있는 양식이 있습니다. 사용자가 선택할 수있는 350 개의 가능한 대상이 있습니다. 그들은 Google지도에서 핀을 클릭하거나 폼의 선택 메뉴에서이 목적지를 선택할 수 있습니다.ng-ng-options 또는 ng-repeat가 작동하지 않음

google지도에서 핀을 클릭하면 선택 메뉴가 목적지로 변경됩니다.

이렇게하려면 ng-selected를 사용하려고하지만 작동하지 않습니다.

도움이 정말 감사 할 것입니다. 고맙습니다.

보기

<div id="select_destination"> 
     <select data-ng-model="selectedDestination" 
       ng-options="station.stationID as station.stationShortAddress for station in allStationsMapData track by station.stationID" 
       data-ng-change="selectDestination(selectedDestination)" 
       ng-selected="station.stationID == selectedDestination"> 
     </select> 
    </div> 

사용자 (선택 메뉴의 선택시)지도 스테이션 클릭하면 제어기는

getDirections라는 함수가 호출된다. 이것은 선택 메뉴의 현재 선택된 항목을 변경해야하지만하지 않습니다. (참고 : 함수가 바로 stationID 전달이 제대로 실행됩니다.)

$scope.getDirections = function(stationLat, stationLng, stationID){ 
    //update the select menu model to the chosen stationID. 
    $scope.selectedDestination = stationID;  
}; 

추가 정보 :

가 나는 또한 NG-선택 NG 반복으로 그러나 그 중 하나가 작동하지 않았다 사용했습니다.

<select data-ng-model="selectedDestination" data-ng-change="selectDestination(selectedDestination)"> 
    <option ng-repeat="stationMapData in allStationsMapData" 
     value="{{stationMapData.stationID}}" 
     ng-selected="{{stationMapData.stationID == selectedDestination}}"> 
     {{stationMapData.stationShortAddress}} 
    </option> 
</select> 

답변

1

변경 ng-selected="station.stationID == selectedDestination" to ng-selected="selectedDestination".

또는 대신 ng-selectedng-init를 사용합니다. (그것은 더 명확 방법입니다.)

ng-init="selectedDestination = 'key of what you want'" 

참조 바이올린.

FIDDLE (첫 번째 경우)
FIDDLE (제 경우)

+0

좋은 예 감사합니다. 그러나 나는 그걸 바꾸려고 시도했지만 여전히 작동하지 않는다. 그러나 적어도 지금 나는 실제적인 예를 볼 수 있습니다. 내가 일하게되면 곧 다시 너에게 갈거야. – Sarah

+0

나는 인덱스 기반의 배열을 사용하여 작업하고있다. (예제에 감사한다) 그러나 배열이 객체의 배열 일 때 작동하지 않는 것처럼 보인다. 당신이 그것을 밖으로 시도하고 당신이 그것을 작동시킬 수 있는지 볼 수있는 기회.? 예 : $ scope.Quarters = {{ 'ID': 'Q1'}, { 'ID': 'Q2'}, { 'ID': 'Q3'}, { 'ID': 'Q4'}] ; – Sarah

+0

개체가있는 바이올린을 참조하십시오. https://jsfiddle.net/bjs3g/239 –