2013-02-20 55 views
0

我有一个简单的页面,一个表和一个选择。我需要在html选择中应用一个预先选定的默认值进行过滤。当页面完成加载阶段时,需要立即应用过滤器。这里是我的代码:Angular.js默认筛选

的选择:

<select class="span2" ng-model="fiASS"> 
     <option></option> 
     <option>Ftse Mib</option> 
     <option ng-selected="selected">Nasdaq</option> 
     <option>Dow Jones</option> 
     <option>Dax</option> 
     <option>Cac40</option> 
    </select> 

的中继器和过滤器

<tr ng-repeat="obj in titoliASS | filter:filtroASS | filter:exchange| filter:poASS | orderBy:predicateASS:reverseASS"> 
      <td>{{obj.TITOLO}}</td> 
      <td class="hidden-phone">{{obj.INDICE}}</td> 
      <td>{{obj.POSIZIONE}}</td> 
      <td class="hidden-phone">{{obj.PREZZO}}</td> 
      <td class="hidden-phone">{{obj.S1}}</td> 
      <td class="hidden-phone">{{obj.R1}}</td> 
      <td class="hidden-phone">{{obj.S2}}</td> 
      <td class="hidden-phone">{{obj.R2}}</td> 
      <td><a href="Technical_Analysis.html?idtitolo={{obj.ID}}&titolo={{obj.TITOLO}}"><i class='icon-signal xmlcursor'></i></a></td> 
     </tr> 

在选择作品的默认值的预选,但过滤器不适用。 该过滤器只适用于当我改变选择值。 我希望问题很清楚。

Thx。

回答

2

你有几个问题。首先,您的ng-selected表达式与您的模型不匹配。

其次,即使它做到了,也不会从html中捡起它;需要在控制器的作用域上设置fiASS变量。

假设,但是,对于select数据是静态的,你可以只对其进行编码,在你的控制器,而不是HTML和使用ng-options

<select ng-model='fiASS' ng-options='index for index in indices'></select> 

而在你的控制器:

$scope.fiASS = 'Nasdaq'; 
$scope.indices = ['Ftse Mib', 'Nasdaq', 'Dow Jones', 'Dax', 'Cac40']; 

这会在代码加载后正确设置模型,并且应该应用您的过滤器(假设它们依赖于值fiASS)。

Here's a fiddle

+0

非常感谢你,现在是完美的.....! – madimper 2013-02-21 07:04:37