编辑记录时,数据会在各自的字段中进行编辑,但如果其值为1
,则不会选中该复选框。
它应该处于检查状态,如果它有1
并且没有检查它是否有0
,因为该字段的数据类型是tinyint
。我正在通过PHP从JSON数组中检索数据。我试图通过ng-checked="{{rec.isSpecial}}"
获得价值,但它无效。
这是我的HTML:
<div class="form-group">
<div class="col-lg-offset-2 col-lg-10">
<div class="checkbox c-checkbox">
<label>
<input type="checkbox" ng-checked="{{rec.isSpecial}}" ng-model="rec.isSpecial">
<span class="fa fa-check"></span>Special
</label>
</div>
</div>
</div>
这是我的JS
$scope.rec = $resource('api/AdminArea/category/edit/:id', {
id: id
}).get(function(data) {
$scope.rec = data;
});
答案 0 :(得分:7)
由于您的数据返回数字而非真值或假值,您可以这样做:
<div class="form-group">
<div class="col-lg-offset-2 col-lg-10">
<div class="checkbox c-checkbox">
<label>
<input type="checkbox" ng-checked="rec.isSpecial==1" ng-model="rec.isSpecial">
<span class="fa fa-check"></span>Special
</label>
</div>
</div>
</div>
请参阅fiddle了解详情
答案 1 :(得分:1)
您根本不需要ng-checked
,ng-model
足以让它发挥作用。如果您的rec.isSpecial
设置为1
以便进行检查,那么只需input
这样:
<input type="checkbox" ng-model="rec.isSpecial" ng-value="1" />
并且Angular会自动检查该复选框。
答案 2 :(得分:1)
表达式ng-checked={{ ... }}
需要true
或false
语句。
如果你要设置rec.isSpecial = true
,在Angular控制器中,你的代码应该可以工作!
答案 3 :(得分:0)
'use strict';
var app = angular.module('MyApp',[]);
app.controller('myController', function ($scope) {
$scope.isSpecial =true;
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div class="form-group" ng-app ="MyApp" ng-controller="myController">
<div class="col-lg-offset-2 col-lg-10">
<div class="checkbox c-checkbox">
<label>
<input type="checkbox" ng-checked="{{isSpecial}}" ng-model="isSpecial">
<span class="fa fa-check"></span>Special
</label>
</div>
</div>
</div>
答案 4 :(得分:0)
如果您在标记输入中使用ng-checked
,则根本不需要指令ng-model
。
由于它是一个复选框,模型将是一个布尔值,因此您需要进行转换。这个例子可行
HTML
<div data-ng-app="app">
<div data-ng-controller="MainController">
Check
<input type="checkbox" data-ng-model="isSpecial">
</div>
</div>
JS
angular.module('app', []);
angular.module('app')
.controller('MainController', mainController);
mainController.$inject = ['$scope'];
function mainController($scope){
$scope.check = 0;
$scope.isSpecial = ($scope.check === 1) ? true : false;
}