HTML表单代码
<form ng-submit="mysubmit()" ng-controller="question_post" >
<textarea name="question" id="question" ng-model="question"></texarea>
<input type="text" name="opt[]" ng-model="opt[]" />
<input type="text" name="opt[]" ng-model="opt[]" />
</form>
Angular JS代码
var obj = angular.module('root', []);
obj.controller('question_post', ['$scope','$http', function ($scope,$http) {
$scope.mysubmit = function(){
$http({
url: "some_url",
method: "POST",
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
data:$.param({user_id:1,'question':$scope.question,'option':$scope.opt})
}).success(function(data, status, headers, config) {
console.log(data);
alert(data);
$scope.data = data;
}).error(function(data, status, headers, config) {
$scope.status = status;
});
}
}]);
上面的代码在写ng-model="opt[]"
时返回错误,ng-model="opt"
返回一个值。
我尝试添加名为opt
的动态文本字段,为此我想在数组中获取opt
值。
如果我使用PHP然后可以($option =$_POST['opt'])
,但是如何在AngularJS中获取opt
的数组值。
答案 0 :(得分:0)
您可以在控制器中定义选项,将其传递给视图,然后使用ng-repeat
迭代您的选项。这样您就可以使用$index
并将选项保存到数组中。以Plunker为例。
所以基本上你会对你的选项进行迭代,如上所述:
<div ng-repeat="option in vm.options">
<input type="text" name="{{ option.name }}" ng-model="vm.opt[$index]" />
正如您所见,我使用ng-model
这样:
ng-model="vm.opt[$index]"
这会将输入字段的值保存在$index
位置的数组中,这与for循环中的迭代器非常相似,并以0开头。