Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用angularjs从动态输入文件形成数组_Javascript_Php_Angularjs_Checkbox - Fatal编程技术网

Javascript 使用angularjs从动态输入文件形成数组

Javascript 使用angularjs从动态输入文件形成数组,javascript,php,angularjs,checkbox,Javascript,Php,Angularjs,Checkbox,我正在开发一个员工考勤系统,我需要知道他们的考勤状态。我正在生成一个动态表单,其中包含一个文本输入字段和一个复选框,每个员工在一个表中使用angularjs ng repeat,以了解该员工是否在场以及评论。我想保存这些动态表单的值文本字段和复选框使用单个保存按钮。文本字段可能有空值或任何其他值,复选框可能是全部选中,全部未选中和少数选中和少数未选中。如果选中该复选框,则我希望保存“选中”:“是”,否则为否。我还有一个日期输入字段,用于保存此特定日期的记录 我认为解决我这种情况的办法是从输入中形

我正在开发一个员工考勤系统,我需要知道他们的考勤状态。我正在生成一个动态表单,其中包含一个文本输入字段和一个复选框,每个员工在一个表中使用angularjs ng repeat,以了解该员工是否在场以及评论。我想保存这些动态表单的值文本字段和复选框使用单个保存按钮。文本字段可能有空值或任何其他值,复选框可能是
全部选中
全部未选中
少数选中
少数未选中
。如果选中该复选框,则我希望保存
“选中”:“是”
,否则为否。我还有一个日期输入字段,用于保存此特定日期的记录

我认为解决我这种情况的办法是从输入中形成一个动态数组,并将其分配给一个变量,但我不知道如何在angularjs中动态形成数组,然后将数组传递给php页面。你能帮我解决这个问题吗

我期望的数组格式是:

[{"Did":"10","supervisor":"ms1001","date":"2017-06-01",
"info":
{"eid":"10","checked":"yes","cmnt":"on time"},
{"eid":"20","checked":"NO", "cmnt":"absent"},
{"eid":"30","checked":"yes","cmnt":""},
{"eid":"40","checked":"NO","cmnt":"OK"},
{"eid":"50","checked":"YES","cmnt":""},
{"eid":"60","checked":"YES","cmnt":""},
{"eid":"70","checked":"YES","cmnt":""},
{"eid":"80","checked":"NO","cmnt":"Late"},
{"eid":"90","checked":"YES","cmnt":""}
        }];
我将把输入的详细信息存储在模式为的考勤表中 考勤
(did、eid、日期、检查、评论、主管id)

var myApp=angular.module('myApp',['ui.bootstrap']);
myApp.controller('MyCtrl',函数($scope){
$scope.list=[
{“部门id”:“d10”,“dname”:“销售”,“主管”:“ms1001”},
{“eid”:“10”,“ename”:“nam1”},
{“eid”:“20”,“ename”:“nam2”},
{“eid”:“30”,“ename”:“nam3”},
{“eid”:“40”,“ename”:“nam4”},
{“eid”:“50”,“ename”:“nam5”},
{“eid”:“60”,“ename”:“nam6”},
{“eid”:“70”,“ename”:“nam7”},
{“eid”:“80”,“ename”:“nam8”},
{“eid”:“90”,“ename”:“nam9”},
{“eid”:“120”,“ename”:“nam10”}
];
$scope.did=$scope.list[0]。部门id;
$scope.dname=$scope.list[0].dname;
$scope.sp_name=$scope.list[0]。主管;
$scope.selectedText='Select All';
$scope.isAll=false;
$scope.selectAll=function(){
如果($scope.isAll==false){
angular.forEach($scope.list,函数(数据){
data.checked=true;
});
$scope.isAll=true;
$scope.selectedText='取消全部选择';
}否则{
angular.forEach($scope.list,函数(数据){
data.checked=false;
});
$scope.isAll=false;
$scope.selectedText='Select All';
}
};
$scope.selectedFriends=函数(){
返回$filter('filter')($scope.list,{checked:true});
};
//日期选择器
$scope.open=函数($event){
$event.preventDefault();
$event.stopPropagation();
$scope.opened=true;
};
$scope.dateOptions={
年份:“yy”,
开始日期:1
};
$scope.format='dd-MMMM-yyyy';
//结束日期选择器
});

.全按钮跨度{
背景色:柠檬黄;
边界半径:32px;
颜色:黑色;
}
.部分按钮跨度{
背景颜色:橙色;
边界半径:32px;
颜色:黑色;
}
部门ID::{did}

部门名称:{{dname}

主管姓名:{{sp_name}

员工ID 名称 注意力
{selectedText} 评论 {{data.eid} {{data.ename} {{list}} 拯救一切
HTML

var app = angular.module("myApp", []);

app.controller("myCtrl", function($scope, $http) {

//initial data to display on table.
$scope.employees = [
 {eid:"10",ename:"nam1", att: false},
 {eid:"20",ename:"nam2", att: false},
 {eid:"30",ename:"nam3", att: false},
];

//on save
$scope.saveForm = function (){

  $http({
    method: 'POST',
    url: '/ana/testone',
    data: $.param({formData: angular.copy($scope.employees)}),
    headers: {'Content-Type': 'application/x-www-form-urlencoded'}
  }).then(function(response) {
    console.log(response);
  });
}
});
PHP


您是否正在将这些数据保存到mysql?但问题是什么?要为您编写从前端开始到db中存储的所有逻辑,我只想形成一个包含所有这些输入的数组,而不是从php页面捕获它。因此,问题是如何在angular js中形成数组,如何在php中访问这些变量,其余的我知道如何在php页面中处理它!是的,我想把它保存在mysql中,我知道怎么做。但我只是在用angularjs创建数组并从php页面读取时遇到了问题@VK321@query-我问你,因为你这样做是不对的。您可能还需要优化逻辑。我认为我们几乎接近解决方案,除了一个问题。如果您查看我的代码片段,您将看到表外有一个日期选择器。我需要在同一数组中发送该日期选择器的值。知道如何实现吗?不作为日期选择器工作在ng repeat之外@查询-@VK321-仍然无效!日期未显示在标签内。我已经更新了我的代码片段,请检查it@query -
var app = angular.module("myApp", []);

app.controller("myCtrl", function($scope, $http) {

//initial data to display on table.
$scope.employees = [
 {eid:"10",ename:"nam1", att: false},
 {eid:"20",ename:"nam2", att: false},
 {eid:"30",ename:"nam3", att: false},
];

//on save
$scope.saveForm = function (){

  $http({
    method: 'POST',
    url: '/ana/testone',
    data: $.param({formData: angular.copy($scope.employees)}),
    headers: {'Content-Type': 'application/x-www-form-urlencoded'}
  }).then(function(response) {
    console.log(response);
  });
}
});
$data = $_POST['formData'];
echo json_encode($data);