angularjs将所选项目从下拉列表添加到范围

时间:2013-06-18 19:22:28

标签: javascript angularjs ng-repeat

我有一个表格,每列都有一个下拉列表,其中列数是动态的。我创建了如下

            <table class='table' >
                <tr>
                    <th ng-repeat= "item in importTable[0]">
                        <select ng-model="selectedItem" ng-options="i.Name for i in optionList"></select>
                    </th>
                </tr>
                <tr ng-repeat="row in importTable">
                    <td ng-repeat="item in row">{{ item }} </td>
                </tr>
            </table>

其中optionList是下拉列表中的选项列表。所有下拉列表都具有相同的optionList。

如何将所选项目及其上方列的索引添加到模型的范围?

这是JSfiddle http://jsfiddle.net/U3pVM/769/的链接,只需点击导入即可。我希望能够定义哪个列是哪种类型。

1 个答案:

答案 0 :(得分:1)

您可以使用ngRepeat提供的$ index变量将ngModel设置为数组中的特定项目:

在控制器中,首先定义将容纳所有模型的数组:

function ImportCtrl($scope) {   
  $scope.selectedItems = [];
  ...
}

而且,在ngRepeat中,您将ngModel引用到selectedItems数组中的特定项目:

<select ng-model="selectedItems[$index]" ng-options="i.Name for i in columnNames"></select>

Demo FIDDLE