我使用angularjs来显示带有复选框的json记录中的表格,我有两个问题:
首先:我默认需要所有复选框为true。使用ng-init测试但无法正常工作。或者只是一个切换true-false所有复选框的按钮
秒取消选中某个文件时,该对象会显示引号[“”,“”,“”],但如果未选中则需要显示任何内容
视图
<div ng-controller="TestController">
<table class="table table-striped">
<tr>
<th>Seleccionar</th>
<th>Servicio</th>
<th>Detalle</th>
<th>Precio</th>
</tr>
<tr ng-repeat="(key, value) in listado">
<td><input type="checkbox" ng-model="ids[$index]" ng-true-value="{{value}}" ng-false-value="{{ undefined }}" ng-selected="checkAll"></td>
<td>{{ value.modelo }}</td>
<td>{{ value.detalle }}</td>
<td>{{ value.precio_in | currency:'$':0 }}</td>
</tr>
</table>
{{ ids | json }}
控制器
var myApp = angular.module('myApp', [])
.controller('TestController', ['$scope', function ($scope) {
$scope.listado = [];
$scope.ids = [];
$scope.listado = [ { "id_stock": "4", "oc_id": "4", "detalle": "Revisión de suspención", "cat_id": "16", "codigo": "m20.1", "marca": "", "parte": "", "precio_in": "5000", "id_prov": "1", "cantidad": "1", "id_bodega": "1", "nom_prov": "Proveedor de prueba 1", "modelo": "MECANIZADOS Y OTROS", "nombre": "Bodega Conchalí", "status": "EN BODEGA", "id_cat": "16" }, { "id_stock": "5", "oc_id": "4", "detalle": "Revisión de frenos", "cat_id": "16", "codigo": "m2.2", "marca": "", "parte": "", "precio_in": "4500", "id_prov": "1", "cantidad": "1", "id_bodega": "1", "nom_prov": "Proveedor de prueba 1", "modelo": "MECANIZADOS Y OTROS", "nombre": "Bodega Conchalí", "status": "EN BODEGA", "id_cat": "16" }, { "id_stock": "6", "oc_id": "4", "detalle": "Revisión de ruedas", "cat_id": "16", "codigo": "m20.3", "marca": "", "parte": "", "precio_in": "4500", "id_prov": "1", "cantidad": "1", "id_bodega": "1", "nom_prov": "Proveedor de prueba 1", "modelo": "MECANIZADOS Y OTROS", "nombre": "Bodega Conchalí", "status": "EN BODEGA", "id_cat": "16" }]; }]);
检查代码 http://jsfiddle.net/eCJ47/44/
抱歉英语不是我的母语。谢谢!!
答案 0 :(得分:2)
稍微修改了您的代码,而不是将对象分配给新数组,将新属性isSelected
添加到现有的listado
数组并绑定到该复选框并默认将其初始化为true。 / p>
<tr ng-repeat="(key, value) in listado" ng-init="value.isSelected = true;">
<td><input type="checkbox" ng-model="value.isSelected"></td>
<td>{{ value.modelo }}</td>
<td>{{ value.detalle }}</td>
<td>{{ value.precio_in | currency:'$':0 }}</td>
</tr>
打印listado
以验证复选框更改