如何使选择列表修改angular.js中的属性

时间:2013-06-14 02:13:57

标签: javascript angularjs angularjs-ng-repeat

我有一系列设备,每个设备都包含操作。我使用嵌套的ng-repeats列出所有设备并提供包含所有操作的选择列表。如何在设备上创建始终代表当前所选操作的属性?这是我目前的代码:

  <div class="span5 outputDevices well" droppable>
    Drag a device here for output

    <div class="droppedDevice" ng-repeat="outputDevice in outputDevices" >
      <h1>{{outputDevice.fields.baseDevice.fields.name}}</h1>

      <button class="btn btn-danger" ng-click="removeDevice('output', $index)">
          X
      </button>

      <select class="outputActions">
        <option>
          Select Action
        </option>
        <option ng-repeat="action in outputDevice.fields.baseDevice.fields.outputs">
          {{action.fields.name}}
        </option>
      </select>

    </div>
  </div>

编辑:我已根据下面的评论尝试修改我的选择,但现在这些操作似乎根本没有重复:

      <select class="inputActions" ng-options="action.fields.name for action in inputDevice.fields.baseDevice.fields.inputs">
        <option value="">
          Select Action
        </option>
      </select>

1 个答案:

答案 0 :(得分:0)

您需要ngModel上的select指令,如下:

<select class="outputActions" ng-model="outputDevice.action"
        ng-options="action.fields.name for action in outputDevice.fields.baseDevice.fields.inputs">
    <option value="">
      Select Action
    </option>
</select>

这样,如果选择了某个操作,outputDevice.action将设置为所选操作。