具有两个值

时间:2016-11-29 16:29:34

标签: javascript angularjs arrays angularjs-scope

我有这个下拉控件

<div ng-repeat="prop in props" style="margin-bottom: 10px;">
  <label class="col-md-4 control-label">Property {{$index + 1}} ({{prop.Value}})</label>
  <div class="col-md-8">
    <select ng-model="gradingvalues[$index]" class="form-control">
      <option value="1">1</option>
      <option value="2">2</option>
      <option value="3">3</option>
      <option value="4">4</option>
    </select>
  </div>

在js代码中,gradingvalues数组声明为:

$scope.gradingvalues = [];

我想要的是,除了在下拉列表中选择的实际值之外,我还想拥有propertyID,例如:

ng-model="gradingvalues[$index, propertyID]"

这可能吗?

2 个答案:

答案 0 :(得分:0)

更改您的$scope.gradingvalues = [];而不是数组使用对象:

$scope.gradingvalues = {};

并更新您的ng-model

ng-model="gradingvalues[prop]"

这样您就可以将“propertyID”作为键,并在select元素上选择值。

答案 1 :(得分:0)

道具和评分值将始终保持1:1的关系,因此您可以使用&#34; prop&#34;存储评分值:

<div ng-repeat="prop in props" style="margin-bottom: 10px;">
  <label class="col-md-4 control-label">Property {{$index + 1}}    ({{prop.Value}})</label>
  <div class="col-md-8">
    <select ng-model="prop.gradingvalue" class="form-control">
      <option value="1">1</option>
      <option value="2">2</option>
      <option value="3">3</option>
      <option value="4">4</option>
    </select>
  </div>