AngularJS:编辑不在范围内的表单值

时间:2015-11-03 11:07:53

标签: angularjs forms angularjs-forms

我正在使用表单在我的应用程序中创建用户。我也使用相同的表单来更新用户配置文件,我正在从数据库加载值。如果用户未在编辑表单中更改任何内容并提交表单,则作用域不具有用户数据。例如。

<select ng-model="user.gender">
    <option ng-selected="userGender==male" value="male">male</optoin>
    <option ng-selected="userGender==female" value="female">female</option>
</select>

提交功能:

$scope.updateUser = function() {
        var userData = $scope.user;
        var url = '/userModule';

        $http.post(url, userData).
        success(function(response) {
            console.log(response);
        });
    };

如果用户不接触性别下拉列表,则提交表单时,用户范围对象中不会包含性别索引。

如何将所有ng-pristine或ng -notouched字段放入范围。

1 个答案:

答案 0 :(得分:0)

我不知道你为userGender使用camelCase的原因,但这不是你需要的吗?

angular.module('myapp', [])
  .controller('myctrl', function($scope) {
    $scope.user = {};
    $scope.user.gender = 'female';
  });
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myapp" ng-controller="myctrl">
  <select ng-model="user.gender">
    <option ng-selected="user.gender=='male'" value="male">male</option>
    <option ng-selected="user.gender=='female'" value="female">female</option>
  </select>
</div>