0

私はテーブルと選択を備えたシンプルなページを持っています。htmlselectで事前に選択されたデフォルト値でフィルタリングを適用する必要があります。ページの読み込みフェーズが終了したら、すぐにフィルターを適用する必要があります。これが私のコードです:

選択:

<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 に答える