当$ scope时,Angularjs选择失去焦点选项。$ apply()

时间:2014-08-01 06:12:04

标签: html angularjs

我有一个非常简单的选择元素:

<select id="selectCurrency" selectmodel="currencyPair" class="select"
        ng-model="currencyPair" ng-options="ft.id as ft.name for ft in contentChart"
        ng-change="currencyPairChange(currencyPair)">
</select>

当我下拉选择时,将任何选项聚焦到第一个选项之外,然后控制器调用$ scope。$ apply(),焦点将自动返回第一个选项。

我不知道如何避免这种行为。 任何帮助都非常感激。

1 个答案:

答案 0 :(得分:1)

搞定了。我明白了from this question。这是the fiddle

<div ng-app>
<div ng-controller="SelectCtrl">
    {{rate}}
    <select id="selectRate" ng-model="rate" data-ng-click="suspendDigest()">
     <option ng-repeat="ft in rateChart" value="{{ft.id}}">{{ft.name}}</option>
    </select>
</div>

JS:

function SelectCtrl($scope,$interval) {
 //$scope.rate='S';
 $scope.rateChart = [
   {id: 'S', name: 'buy rate'},
   {id: 'K', name: 'sell rate'},
   {id: 'R', name: 'average rate'}
];

setInterval(function(){        
   $scope.$apply();
}, 2000);
}