1

選択リストを ng-repeat 内に配置して、選択リストを複数回表示できるようにしようとしています。ユーザーは、表示される各選択リストの値を選択します。私のコードは次のとおりです。

      <div class="actionList" ng-repeat="selectedAction in inputDevice.selectedActions">
        <select class="inputAction" ng-model="selectedAction" ng-options="action as action.fields.name for action in inputDevice.fields.baseDevice.fields.inputs">
          <option value="">
            Select Action
          </option>
        </select>
        <button class="btn btn-primary" ng-click="addAction(inputDevice, $index)">
          +
        </button>
      </div>

選択リストオプションの1つを選択すると、選択リストがデフォルトの状態に戻り、オプションが選択されないことを除いて、完全に機能します(選択されたアクションの状態も変更されません)。プロパティをそれ自体ではなく、同じ結果にselectedAction変更ng-model="selectedAction.value"しようとしました。正常に動作するように他のものselectedActionに変更すると、スコープ内で新しく作成された値 foo にバインドされた選択の値を確認できます。繰り返し要素にバインドできないのはなぜですか?ng-model="selectedAction"ng-model="foo"

4

1 に答える 1

0

遊ぶためにjsfiddleリンクを追加するとはるかに簡単になりますが、ng-modelをオブジェクトではなくプリミティブ(文字列)に設定しようとしているように思えます。したがって、変更するたびに、値はもう存在しません。selectedAction は文字列であるため、その場合でも selectedAction.value は機能しません。

ただし、inputDevice.selectedActions がオブジェクトの配列である場合は、うまく機能したと思います。

あなたが試すことができるもう1つのこと(私はjsfiddleを持っていないので、それが機能するかどうかはわかりません:))ループ内のインデックスを持つスコープ変数。

于 2013-06-19T04:32:39.320 に答える