我有一个像这样的 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>
你可以通过http://jsfiddle.net/soumyagangamwar/gpm72kmo/看到这个
我必须在提交点击时将表数据发送到服务。 所以我在 ng-click 中调用了 'updateTableInfo' 方法。
请观察一次数据,即 $scope.tableData
。如果我检查了一些值,如第 3、4、5 行(表 3、4、5),然后单击提交按钮,然后 Controller 收到一个包含 5 个对象的数组,每个对象包含 4 个属性,如 table_name,图表、fles_sheet、具有这些值的 dtf。它收到了罚款。
我的问题是在 View 加载之后。如果我没有更改任何值(3、4、5),那么在提交时单击我收到包含 5 个对象的数组,但我收到 3、4、5 个对象,但没有属性 charta、flex sheet、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>
检查这个 fiddle :http://jsfiddle.net/gpm72kmo/1/
关于javascript - 请帮助在不更改模型值的情况下将 list 发送到服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39193734/