javascript - AngularJS 上的自动空值

标签 javascript angularjs

这个问题可以通过声明一个范围函数来轻松解决,但我想知道是否有更好的方法可以使它更容易

代码是:

<!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>

原来是这样的。如果复选框被选中且为真,则其他两个字段将被启用,如果复选框未被选中,则将被禁用。我想要的是,在禁用时使字段自动变为空或空白。

这是一个例子:http://plnkr.co/edit/2EPuhRiR9OncV8z7q018?p=preview

最佳答案

忽略将太多逻辑直接放在 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/

相关文章:

javascript - 使用过滤器删除数组中的对象会删除整个数组

javascript - Angular : ng-repeat. 我如何根据值定位特定项目

javascript - Protractor 点击功能并不总是有效

javascript - AngularJS - 将属性传递给指令的问题 - 为每个属性接收未定义的值

javascript - Angularjs:ng-options 添加条件

使用 Razor 语法的 Javascript 命名空间?

javascript - 为 Kendo UI 堆叠和分组条形图定义颜色

django - 使用 Django Rest Framework 和 Angular 从 API 端点发送电子邮件

javascript - 删除任何值大于给定数字的属性

javascript - react 原生 : change view corresponding to scroll position