Javascript 请帮助在不更改型号值的情况下将检查表发送至维修部门?

Javascript 请帮助在不更改型号值的情况下将检查表发送至维修部门?,javascript,angularjs,arrays,Javascript,Angularjs,Arrays,我有一个json数组,比如 $scope.tablesData = [ { "table_name": 'table1', "charts": 0, "flex_sheet": 0, "dtf": 0

我有一个json数组,比如

$scope.tablesData = [
                         {
                             "table_name": 'table1',
                             "charts": 0,
                             "flex_sheet": 0,
                             "dtf": 0
                             },{
                                 "table_name": 'table2',
                                 "charts": 1,
                                 "flex_sheet": 1,
                                 "dtf": 1
                             },{
                                 "table_name": 'table3'

                             },{
                                 "table_name": 'table4'

                             },
                             {
                                 "table_name": 'table5'

                             }]
我有这样的html页面

<div ng-controller="MyCtrl">
  <table class="table">
    <thead class="table-inverse">
      <tr>
        <th>Table Name</th>
        <th>Charts</th>
        <th>FlexSheet</th>
        <th>Dtf</th>
      </tr>
    </thead>
    <tbody>
       <tr ng-repeat="table in tablesData">
          <td>{{table.table_name}}</td>
          <td><input type="checkbox" ng-true-value="1" ng-false-value='0'                     ng-model="table.charts"></td>
          <td><input type="checkbox" ng-true-value="1" ng-false-value='0'  ng-model="table.flex_sheet"></td>
          <td><input type="checkbox" ng-true-value="1" ng-false-value='0' ng-model="table.dtf"></td>
       </tr>
  </tbody>
 </table>

 <input type="button" class="btn btn-info" value="submit" ng-  click="upadateTableInfo()">

</div>

表名
图表
柔性薄板
Dtf
{{table.table_name}
你可以看到这个

我必须将表数据发送到submit click中的服务。 因此,我在ng单击中调用了'updateTableInfo'方法

请观察数据,即
$scope.tableData
一次。在查看数据后加载控制器后,如果我检查了一些值,如第3、4、5行(表3、4、5),然后单击“提交”按钮,控制器将收到一个包含5个对象的数组,每个对象包含4个属性,如表名、图表、表格、dtf和这些值。天气很好


我的问题是在加载视图之后。如果我没有更改任何值(3,4,5),则在“提交”中单击“我接收到包含5个对象的数组”,但在“提交”中,我接收到3,4,5个不包含属性图表、弹性工作表、dtf的对象。但是,如果用户没有做任何事情,那么我必须将0发送到post方法,但对象应该包含所有4个属性。

只需添加ng init即可将模式值默认设置为0,如下所示。我希望它能解决你的问题

 <tr ng-repeat="table in tablesData">
        <td>{{table.table_name}}</td>
        <td><input type="checkbox" ng-init="table.charts = 0"  ng-true-value="1" ng-false-value='0' ng-model="table.charts"></td>
        <td><input type="checkbox" ng-init="table.flex_sheet = 0" ng-true-value="1" ng-false-value='0'  ng-model="table.flex_sheet"></td>
        <td><input type="checkbox" ng-init="table.dtf = 0" ng-true-value="1" ng-false-value='0' ng-model="table.dtf"></td>
 </tr>

{{table.table_name}

检查此小提琴:

但我不想默认更改值。如果我使用ng init,那么所有复选框值默认都包含0。您能告诉我为什么不想在默认情况下更改值吗。您实际想要实现什么?如果对象不包含值,则我必须在视图中将其设置为0,但如果不包含值,则我必须在视图中初始化该值。