如何使Repeater中的下拉列表显示不同的值

时间:2015-09-15 20:39:51

标签: javascript angularjs repeater

我有一个表,用户按下按钮添加了行。在此表中,有一个显示值的下拉列表。我的问题是在一个下拉列表中选择一些内容会改变所有内容。有人可以解释我做错了什么吗?

.HTML代码

<button ng-show="showAddChoice(choice)" ng-click="addNewChoice()">Add Entry</button>

<tbody data-ng-repeat="choice in choices">
  <tr>
      <td><input type="text" placeholder="Account Name" ng-model="item.AccountName" style="width:104px;"></td>
      <td><select ng-model="type.value" ng-options="v for v in type.values" style="width:80px"></select></td>
  </tr>
</tbody>

.JS FILE

 $scope.type = {
        "type": "select",
        "name": "Cash",
        "value": "Cash",
        "values": ["Cash", "Securities"]
    };

$scope.choices = [{ id: 'choice1' }];

    $scope.addNewChoice = function () {
        var newItemNo = $scope.choices.length + 1;
        $scope.choices.push({ 'id': 'choice' + newItemNo });
    };

    $scope.showAddChoice = function (choice) {
        return choice.id === $scope.choices[$scope.choices.length - 1].id;
    };

1 个答案:

答案 0 :(得分:1)

您已指定相同的ng-model进行循环选择。所有人都会指出相同的变量。OnConfiguration

您可以使用ng-model="type.value"作为示例,而不是将此值绑定到所有值。这将把每个选择的值存储在它自己的变量中。