【发布时间】:2016-05-28 13:54:29
【问题描述】:
我是 angularjs 新手,使用 ng-repeat 生成多个选择,如下所示...
<table>
<tr ng-repeat="(key, value) in paramMapByCmd">
<td></td>
<td><input type="hidden" ng-model="myData.param" value="{{key}}" /><label>{{key}}:</label></td>
<!-- <td><input type="text" ng-model="myData.param[i]" /></td> -->
<td>
<select name="param_val_sel" ng-options="item as item for item in value track by $index"
ng-model="myData.paramValue[$index]"
ng-change="changeParamValue()">
<option value="">Select Parameter Value</option>
</select>
</td>
</tr>
</table>
现在当表单被提交时,我如何在控制器中检索数组(希望它是一个数组?)?
$scope.submitCmd = function() {
var comData = $scope.myData.command;
use a loop here....
????var paramData = $scope.tl1Data.paramValue[$index]; ????
你是怎么做到的?
附:我添加了更多的 html 来显示 ng-repeat...
【问题讨论】:
-
你能用html显示完整的表格吗?!
-
通常您会将表单
ng-model中的所有内容绑定到一个对象,每个ng-model都有自己的属性,然后将该包含整个表单数据的对象发送到服务器 -
$index 变量是一个特殊值,仅存在于 view ng-repeat 指令中。不能在控制器中使用。
-
我不确定 $[index ] 做了什么来将数据发送回 Angular 控制器。选择是从 LinkedHashMap
> ... $scope.paramMapByCmd = result; 动态创建的
标签: angularjs select indexing ng-repeat