这个问题可以通过声明一个范围函数来轻松解决,但我想知道是否有更好的方法可以使它更容易
代码是:
<!DOCTYPE html>
<html ng-app="myApp">
<head>
<link rel="stylesheet" type="text/css" href="http://netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css">
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.9/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
</head>
<body ng-controller="myCtrl">
<input type="checkbox" ng-model="activate" id="activate"> ACTIVATE <br />
<input type="text" ng-model="first" ng-disabled="!activate">
<input type="text" ng-model="second" ng-disabled="!activate">
<!-- <span id="clickMe">Click Me!</span> -->
<script type="text/javascript">
app = angular.module('myApp', []);
app.controller('myCtrl', function($scope, $timeout){
});
</script>
</body>
</html>
原来是这样的。如果复选框被选中且为真,则其他两个字段将被启用,如果复选框未被选中,则将被禁用。我想要的是,在禁用时使字段自动变为空或空白。
最佳答案
忽略将太多逻辑直接放在 View 中不是一个好的做法这一事实,技术解决方案是:
<input type="checkbox" ng-model="activate" id="activate" ng-change="sameAsAbove(first, second); value = null"> ACTIVATE <br />
<input type="text" ng-model="value.first" ng-disabled="!activate">
<input type="text" ng-model="value.second" ng-disabled="!activate">
关于javascript - AngularJS 上的自动空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37316278/