表单上显示了一组问题。我想将所有答案放入一个数组中,然后推送到Firebase。
这个问题(Angularjs相当于serialize)非常类似。然而,我没有每个问题的id,这个答案也没有提供控制器代码。
这是HTML:
<form ng-submit="addAnswers()">
<dd ng-repeat="questions in itemform.questions">
{{questions}}
<input type="text" ng-model = "answers">
</dd>
<input type="submit">
</form>
这是控制器:
phonecatControllers.controller('PhoneDetailCtrl', ['$scope', '$firebaseObject',function($scope, $firebaseObject) {
$scope.addAnswers = function() {
var ans = new Firebase("https://APP.firebaseio.com/answers");
var x = $scope.answers;
console.log($element.serialize()); //says "element is not defined"
console.log(x.serializeArray()); "says x is undefined
};
}]);
试着这样做:
<form ng-submit="addAnswers()">
<dd ng-repeat="questions in itemform.questions">
{{questions}}
<input type="text" ng-model = "answers[$index]">
</dd>
<input type="submit">
</form>
初始化控制器中的阵列。
$scope.answers = [];
下面是一个例子http://codepen.io/mkl/pen/pyrPXB/