我有一个简单的页面,其中包含一个表和一个select。我需要使用在html select中预先选择的默认值来应用过滤。当页面完成加载阶段时,需要立即应用过滤器。下面是我的代码:
选择:
<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>select中默认值的预选有效,但未应用筛选器。仅当我更改select上的值时,才应用筛选器。我希望问题是清楚的。
谢谢。
发布于 2013-02-21 02:57:34
你有几个问题。首先,您的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。
https://stackoverflow.com/questions/14987447
复制相似问题