angularjs复选框未被选中
angularjs checkbox not getting checked
我的应用程序中有以下代码:
<input type="checkbox" ng-checked="vm.eduToEdit.test" />
{{vm.eduToEdit.test}}
<input type="checkbox" ng-model="vm.eduToEdit.test">
值vm.eduToEdit.test是true还是false,但无论它返回什么,上面任何一个输入中的复选框都不会被选中。我不确定我遗漏了什么,我想我不应该使用ng模型,所以我尝试了ng检查,但到目前为止都不起作用。
编辑:我尝试了以下方法,但结果相同:
<input type="checkbox" ng-checked="vm.eduToEdit.test" /> -
<input type="checkbox" ng-checked="checking" /> -
{{vm.eduToEdit.test}}
{{checking}}
在我的控制器中,我有:
vm.eduToEdit.test = true;
$scope.checking = true;
当我查看页面时,true被写出,但我从未看到它被选中。
下面是我的控制器:
(function () {
'use strict';
myModule.controller('EducationController', ["$scope", "bootstrappedData", EducationController]);
function EducationController($scope, bootstrappedData) {
var vm = this;
vm.shoppingCart = bootstrappedData.shoppingCart;
vm.eduToEdit = {};
vm.EditEducation = function (applicantEducationId, educationTypeId) {
var owl = $(".owl-carousel");
var eduFound = $.grep(this.shoppingCart, function (h) {
return h.ApplicantEducationId === applicantEducationId;
});
vm.eduToEdit = eduFound[0];
vm.eduToEdit.formattedAttendEnd = vm.ConvertToDate(vm.eduToEdit.AttendEnd);
vm.eduToEdit.formattedAttendStart = vm.ConvertToDate(vm.eduToEdit.AttendStart);
vm.eduToEdit.formattedGraduationDate = vm.ConvertToDate(vm.eduToEdit.GraduationDate);
vm.eduToEdit.test = true;
$scope.checking = true;
switch (educationTypeId) {
case 1:
case 2:
case 3:
case 4:
owl.trigger('to.owl.carousel', [1, 50]);
break;
case 5:
owl.trigger('to.owl.carousel', [3, 50]);
break;
case 6:
owl.trigger('to.owl.carousel', [2, 50]);
break;
case 7:
owl.trigger('to.owl.carousel', [4, 50]);
break;
case 9:
owl.trigger('to.owl.carousel', [5, 50]);
break;
}
};
vm.ConvertToDate = function (jsonDateToConvert) {
if (jsonDateToConvert == null)
return "";
var value = new Date
(
parseInt(jsonDateToConvert.replace(/(^.*'()|([+-].*$)/g, ''))
);
return value.getMonth() + 1 + "/" + value.getDate() + "/" + value.getFullYear();
}
}
})();
当您将使用ng-checked
时,它将充当单向绑定意味着只显示选中或未选中此复选框,而不显示控制器变量中的更改。如果您想在dom中更改控制器变量,则最好使用CCD_ 2进行检查或取消检查。可以试试:
我猜您在dom中使用了controller as vm
,在controller中使用了this
。
在html:中
<body ng-controller="myCtrl as vm">
<input type="checkbox" ng-model="vm.eduToEdit.test">{{vm.eduToEdit.test}}
</body>
控制器:
angular.module('myApp',[])
.controller("myCtrl", function($scope) {
var vm = this;
vm.eduToEdit = {};
vm.eduToEdit.test = true;
});
演示链接
单击第二个复选框可以首先更新,因为每当您单击ng模型时,它都会与第二个框绑定,第一个框中的模型值就会更新。
<input type="checkbox" ng-checked="vm.test" />
{{vm.test}}
<input type="checkbox" ng-model="vm.test" />
jsfiddle
相关文章:
- 如何在angularJS中编辑时,如果DB中的值为true,则设置复选框,如果值为false,则取消选中复选框
- AngularJS单选筛选不适用于Name、Description和Field4复选框值
- angularjs复选框验证至少两个
- 如何从 AngularJS 输入中禁用我的复选框
- 复选框无法正常使用ng repeat,AngularJs
- 当与之关联的 ng-model 为 false 时,Angularjs 复选框值不会取消选中
- AngularJS复选框通过$event.target更改问题
- Angularjs - 复选框 - 计算多个选定/未选定项目
- 在 AngularJs 中触发文本框的复选框
- angularjs 选中复选框时隐藏具有特定类的对象
- AngularJS复选框过滤在页面加载时不进行过滤
- 如何使用ng-click在angularjs控制器中动态地选中/取消选中复选框
- angularjs复选框未被选中
- AngularJS过滤器使用ng个重复复选框显示所有页面加载
- 拾取复选框如何在后方法angularjs中产生
- 使用angularjs中复选框的值更新数组
- 使用angularjs表达式复选框
- 提醒所有在ng-Repeat中选中的复选框:AngularJS
- 使用复选框angularJS检索数据
- 至少选中一个复选框AngularJS