我可以在复选框中使用ng-readonly指令吗?
即使用ng-readonly修饰了复选框,该复选框也是可写的。
Html:
<input type="checkbox" ng-model="model" ng-readonly="test" /> {{model}}
控制器:
myApp.controller('MyCtrl', function($scope) {
$scope.test = true;
});
添加了Fiddle
答案 0 :(得分:27)
如果你想禁用它,请使用:
<input type="checkbox" ng-disabled="true" ng-model="test" />
答案 1 :(得分:8)
如果你想让它“更”可见,你可以随时使用一些小技巧:
<input type="checkbox" ng-model="model" onclick="return false;" />
答案 2 :(得分:7)
ng-readonly仅适用于输入类型=&#34;文本&#34;
请参阅此处的文档 - https://docs.angularjs.org/api/ng/directive/ngReadonly
HTML规范不要求浏览器保留布尔属性的值,例如readonly。 (它们的存在意味着真实,它们的缺失意味着错误。)如果我们将Angular插值表达式放入这样的属性中,那么当浏览器删除属性时绑定信息将会丢失。 clear_keys = True
。浏览器不会删除此补充指令,因此提供了存储绑定信息的永久可靠位置。
答案 3 :(得分:0)
使用CSS:
md-checkbox[ng-readonly="true"]{
z-index: -1;
}
或
md-checkbox[ng-readonly="true"]{
pointer-events: none
}
最后,在IE中不起作用