我正在使用表单在我的应用程序中创建用户。我也使用相同的表单来更新用户配置文件,我正在从数据库加载值。如果用户未在编辑表单中更改任何内容并提交表单,则作用域不具有用户数据。例如。
<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字段放入范围。
答案 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>