0

我有一个表格,用户可以填写该表格以使用谷歌地图获取前往目的地的路线。用户可以选择 350 个可能的设置目的地。他们可以通过单击谷歌地图上的图钉或从表单中的选择菜单中选择此目的地。

当他们点击谷歌地图上的图钉时,我希望选择菜单更改为目的地。

我正在尝试为此使用 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-selected 与 ng-repeat 一起使用,但它也不起作用。

<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>
4

1 回答 1

2

更改ng-selected="station.stationID == selectedDestination"ng-selected="selectedDestination".

或使用ng-init而不是ng-selected.(这是更清晰的方式。)

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

参考小提琴。

FIDDLE(第一种情况)
FIDDLE(第二种情况)

于 2017-11-07T01:08:32.903 回答