2013-02-20 81 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