我创建了一个带有input
文本框的表单,其中包含动态生成的ng-model
,如下所示:
<div class="row">
<div class="column">Tags:</div>
<div class="column">
<select data-ng-options="tag.id as tag.name for tag in Tags"
data-ng-model="formData.Tag">
</select>
</div>
</div>
<div data-ng-repeat="choice in choices">
<div class="row">
<div class="column">Result {{$index + 1}}:</div>
<div class="column">
<input type="text" data-ng-model="formData.Result[$index + 1]"
placeholder="Result {{$index + 1}}"><span>
<button data-ng-show="$last" data-ng-click="addAnother()">Add
another</button>
</span>
</div>
</div>
</div>
在提交form
时,我会将字段Result
的数据作为下面的JSON
获取:
{"Tag":"1","Result":{"1":"1", "2":"2"}}
我希望收集list/array
,如:{"Tag":"1","Result":["1", "2"]}
。
的.js
myapp.controller(‘FormController', function($scope, $http) {
$scope.choices = [ {
id : 'choice1'
} ];
$scope.addAnother = function() {
var newItemNo = $scope.choices.length + 1;
$scope.choices.push({
'id' : 'choice' + newItemNo
});
};
$scope.formData = {};
$scope.submit = function() {
$http({
method : 'POST',
url : ‘/Application/submit',
dataType : 'json',
headers : {
'Content-Type' : 'application/json'
},
data : $scope.formData,
});
};
});
知道我该怎么做?
感谢。
答案 0 :(得分:2)
因此,在您的控制器中初始化formData
:
$scope.formData = {
Tag:"",
Result: []
};
并在视图中使用data-ng-model="formData.Result[$index]"
代替data-ng-model="formData.Result[$index+1]"
。
这是plnkr