0

選択した項目をラベルやリストで表示したい。

フォームと結果を切り替えるためにスイッチを使用しています。以下のコードをご覧ください

<div ng-switch on="format">  
   <div ng-switch-when="form">
     <div class="floatLeft">Seeeeeelect</div>
      <select multiple="multiple" ng-model="test">
        <!--<option value ="sdfsdf" ng-repeat="n in ['a','b','c']">{{n}}</option>-->
        <option value ="AAA">AAA</option>
        <option value ="BBB">BBB</option>
        <option value ="CCC">CCC</option>
      </select>
      {{test}}
   </div>
   <div ng-switch-when="result">{{test}}</div>
 </div>

<button ng-click="showForm()">Form</button>
<button ng-click="showPreview()">Result</button>

コントローラーには、以下のようなメソッドがあります。

    $scope.showPreview=function() {
    $scope.format='result';

  };

      $scope.showForm=function() {
        $scope.format='form';
      };

リスト内のアイテムを選択した後、「結果」ボタンをタップして「結果」を表示するように切り替えようとすると。選択された項目は入力されていません。

誰が私がどこで間違ったのか教えてもらえますか.

ありがとう

4

1 に答える 1

1

ng-switchサブスコープを作成します。したがって、 で参照testする必要があります$parent.test

<select multiple="multiple" ng-model="$parent.test">


<div ng-switch-when="result">{{ $parent.test }}</div>


  </select>
    {{ $parent.test }}
</div>

フィドル

于 2014-04-17T16:36:38.687 に答える