0

我有一个带有表格和选择的简单页面。我需要使用在 html 选择中预选的默认值应用过滤。当页面完成加载阶段时,需要立即应用过滤器。这是我的代码:

选择:

<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>

选择中默认值的预选有效,但未应用过滤器。仅当我更改选择的值时才应用过滤器。我希望问题很清楚。

谢谢。

4

1 回答 1

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应该应用您的过滤器(假设它们依赖于 的值)。

这是一个小提琴

于 2013-02-20T18:57:33.963 回答