javascript - AngularJS:如何以表格形式每行表示和保存一个对象

标签 javascript angularjs forms html-table angularjs-ng-repeat

我需要一个 departments 表格,其中部门数量有限,日期可用。在所有这些部门中,有些部门需要分配给学生,一旦完成,就需要提交表格。提交时,表中的每一行都需要添加到 assignedDepartments 集合中。

以下是我如何需要 assignedDepartments 集合来查看是否已分配两个部门:

var assignedDepartments= [
    { "name": "Rohit", "age": 24, "department": "Computer Science", "isAssigned": true}, 
    { "name": "Matt", "age": 23, "department": "Engineering Physics", "isAssigned": true},
    { "name": "Rubi", "age": 32, "department": "Humanity", "isAssigned": false}
]

departments 集合可用,我使用它通过 ng-repeat 进行迭代:

<form name="assignedDepartmentsForm">
  <table class="table table-hover">
    <thead>
      <tr>
        <th>
             Name
        </th>
        <th>
             Age
        </th>
        <th>
             Department
        </th>
      </tr>
     </thead>
    <tbody>
      <tr ng-repeat="department in departments">
        <td>
              <input  type="text" ng-model="name" />
        </td>
        <td>
             <input  type="number" ng-model="age" />
        </td>
        <td>
            {{ department}}
        </td>
        <td>
            <input type="checkbox" ng-model="isAssigned" />
        </td>
      </tr>
    </tbody>
  </table>
<form>

谁能帮我为departments 创建一个表格表单,其中每一行都被表示并保存为表单提交时的一个对象。

最佳答案

将字符串数组转换为对象数组(如下所示)。然后,您可以更轻松地向对象添加更多字段。

[
  {"department":'Computer Science'},
  {"department":'Engineering Physics'},
  {"department":'Humanity'}
]

您现在仍然可以使用 html 代码。你只需要调整你的 Controller 。

function formCtrl($scope) {
  $scope.departments = angular.copy(data2);
  $scope.submit = function() {
  $scope.assignedDepartments = [];
     angular.forEach($scope.departments, function(d) {
        if (d.isAssigned) {
           $scope.assignedDepartments.push(d);
        }
     })
  }
  $scope.assignedDepartments = [];
}

这是一个代码示例:http://jsbin.com/pegonisale/1/edit?html,js,output

关于javascript - AngularJS:如何以表格形式每行表示和保存一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27297777/

相关文章:

javascript - 解析服务器和 MongoDB 基础知识

c# - 如何更改组合框控件中的下拉按钮?

php - 在 php 中以编程方式声明和初始化变量

javascript - 当输入标签中有空格时禁用提交按钮

javascript - 表单提交验证下拉列表的动态#

javascript - JS中各种Object取值方法的区别

javascript - 实例属性会掩盖原型(prototype)链吗?

javascript - 在 openshift Node js 应用程序中获取请求

css - 像密码输入一样设计我的文本输入

javascript - Ionic/AngularJs Controller 初始化 ng-init 不起作用