我需要你的帮助我正在学习angularjs。我学会了如何将1个项目保存到数据库,我想进一步保存超过1个项目,但我无法在互联网上找到关于使用angularjs执行此操作的任何内容。在angularjs中无法做到这一点? 。解释我在想法中添加了关于plunker的代码
http://plnkr.co/edit/sF3mBOcDilhQDQKYqeE7?p=preview
的script.js
var app = angular.module('multi', []);
app.controller('MainCtrl', function ($scope) {
$scope.students = [{
'firstname' : $scope.user_name,
'lastname' : $scope.lastname,
'bday':$scope.bday,
'bplace':$scope.bplace,
'sex':$scope.sex
}];
$scope.addNewStudent = function() {
var newItemNo = $scope.students.length+1;
$scope.students.push({'id':'student'+newItemNo});
};
$scope.removeStudent = function() {
var lastItem = $scope.students.length-1;
$scope.students.splice(lastItem);
};
$scope.save = function() {
$http.post('db.php?action=addStudent',
{
'firstname' : $scope.firstname,
'lastname' : $scope.lastname,
'bday':$scope.bday,
'bplace':$scope.bplace,
'sex':$scope.sex
});
};
});
所以在填写学生人数信息后,我想点击保存按钮将所有学生保存到我的数据库中。如果有可能你可以帮我解决这个问题。谢谢
答案 0 :(得分:0)
您当前的问题是您在保存时使用$scope
中的值,因此您无法一次保存多名学生。
您应该使用已有的$scope.students
数组。
我修改了你的plunker(只有javascript),这应该适合你的需要。
http://plnkr.co/edit/T8qM1YCKBFmZbknWZ2n2
我没有太大改变,我主要把$http.post
放在一个循环中。我通常建议使用一个处理多个对象的服务器路由,但不知道你的服务器,这是我能做的最好的事情,以保持它的简单和功能。
另外两条评论:
student.sex
发送到服务器,但无法在表单中设置。last
,在保存功能中使用lastname
,您必须选择并使用您在两个地方选择的那个