ng-selected 不适用于 ng-options 或 ng-repeat

ng-selected not working with ng-options or ng-repeat

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

当他们单击 google 地图上的图钉时,我希望 select 菜单更改为目的地。

我正在尝试为此使用 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>

控制器

当用户单击地图上的站点时(不是从 select 菜单中 selecting),将调用名为 getDirections 的函数。这应该会更改 select 菜单中当前 selected 的项目,但不会。 (注意:函数正在正确执行传递正确的 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>

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

或者用ng-init代替ng-selected。(这样更清楚。)

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

引用Fiddle.

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