Javascript ng单击复选框不更新表单的$pristine属性 首次更新隐藏文本时,不会更新表单的$pristine属性AngularJS

Javascript ng单击复选框不更新表单的$pristine属性 首次更新隐藏文本时,不会更新表单的$pristine属性AngularJS,javascript,angularjs,Javascript,Angularjs,我有一个AngularJS的表单,我想知道表单的任何字段是否被更新 更新复选框时,相应的$pristine属性不会更新 因此,我添加了一个隐藏的文本框,它绑定到复选框的相同ng model 但它不是第一次起作用,而是第二次起作用 下面是HTML代码- <html> <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.6/angular.js"></script> &

我有一个AngularJS的表单,我想知道表单的任何字段是否被更新

更新复选框时,相应的
$pristine
属性不会更新

因此,我添加了一个隐藏的文本框,它绑定到复选框的相同
ng model

但它不是第一次起作用,而是第二次起作用

下面是HTML代码-

<html>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.6/angular.js"></script>
<script src="http://angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.9.0.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="script.js"></script>

<body ng-app="formApp" ng-controller="formController">
  <div>
    <form name="myForm">
      <label>Personal Question</label>
      <div class="checkbox">
        <label>
          <input type="checkbox" name="awesome" ng-model="formData.awesome" 
                 ng-true-value="ofCourse" ng-false-value="iWish" 
                 ng-click="onClick()"> Are you awesome?
          <input type="text" name="hidden-awesome" ng-model="formData.awesome"
                 ng-hide="true"/>
        </label>
      </div>
    </form>
  </div>
</body>
</html>
var formApp = angular.module('formApp', [])
.controller('formController', function($scope) {
  $scope.onClick = function() {
    alert('is myform is not modified? '+ $scope.myForm.$pristine);
    console.log(JSON.stringify($scope.myForm))
  };
});
我有我的密码


我应该如何处理这种情况?

使用
ng change
指令而不是
ng click

  <input type="checkbox" name="awesome" ng-model="formData.awesome" 
         ng-true-value="ofCourse" ng-false-value="iWish" 
         ̶n̶g̶-̶c̶l̶i̶c̶k̶=̶"̶o̶n̶C̶l̶i̶c̶k̶(̶)̶"̶
         ng-change="onClick()" > Are you awesome?
你很棒吗?
ng change
指令添加了在用户操作控件后调用的

ng click
指令添加了一个在更新模型之前调用的click处理程序

注意:可以使用tab键聚焦复选框,使用enter键和鼠标单击操作复选框

有关详细信息,请参阅