Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 选择不与其他表单元素一起发送的元素值_Angularjs_Drop Down Menu_Ng Options_Ng Submit - Fatal编程技术网

Angularjs 选择不与其他表单元素一起发送的元素值

Angularjs 选择不与其他表单元素一起发送的元素值,angularjs,drop-down-menu,ng-options,ng-submit,Angularjs,Drop Down Menu,Ng Options,Ng Submit,我使用Angular将表单内容提交给API端点。在我尝试将其中一个文本输入字段更改为“选择”下拉列表之前,一切正常。我正在使用ng options填充select下拉列表,但当我将表单内容发送到API端点时,select元素的值不会被发送。下面是HTML(为了简洁起见删除了类和样式信息)和Angular HTML 棱角的 <script type="text/javascript"> var adminToolApp = angular.module('adminTool

我使用Angular将表单内容提交给API端点。在我尝试将其中一个文本输入字段更改为“选择”下拉列表之前,一切正常。我正在使用
ng options
填充select下拉列表,但当我将表单内容发送到API端点时,select元素的值不会被发送。下面是HTML(为了简洁起见删除了类和样式信息)和Angular

HTML


棱角的

<script type="text/javascript">
    var adminToolApp = angular.module('adminToolApp', []);

    adminToolApp .controller('AdminToolController', function ($scope, $http) {
        var self = this;
        self.departmentList = [];

        // Gets all departments to populate select input
        $http({
            method: 'GET',
            url: 'https://api.myServer.net/api/getAllDepartments',
            headers : {
                'Content-Type': 'application/json',
            }
        }).then(function(result) {
            self.departmentList = result.data;
        }, function (error) {
            console.log(error);
        });

        // Submits form data to add new employee
        self.addNewEmployee = function() {
            return $http({
                method: 'POST',
                url: 'https://api.myServer.net/api/addNewEmployee',
                data: angular.toJson(self.form),
                headers: {
                    'Content-Type': 'application/json',
                }
            }).then(_submissionSuccess, _submissionFailure);
        };

        // Private methods

        function _submissionSuccess(response) {
            self.submissionResults = response.data;
        };

        function _submissionFailure(response) {
            self.submissionResults = 'An error occured: ' + response.status;
        };
    });
    </script>

var adminToolApp=angular.module('adminToolApp',[]);
adminToolApp.controller('AdminToolController',函数($scope,$http){
var self=这个;
self.departmentList=[];
//获取要填充选择输入的所有部门
$http({
方法:“GET”,
网址:'https://api.myServer.net/api/getAllDepartments',
标题:{
“内容类型”:“应用程序/json”,
}
}).然后(函数(结果){
self.departmentList=result.data;
},函数(错误){
console.log(错误);
});
//提交表单数据以添加新员工
self.addNewEmployee=函数(){
返回$http({
方法:“POST”,
网址:'https://api.myServer.net/api/addNewEmployee',
数据:angular.toJson(self.form),
标题:{
“内容类型”:“应用程序/json”,
}
}).然后(_submissionSuccess,_submissionFailure);
};
//私有方法
功能提交成功(响应){
self.submissionResults=response.data;
};
功能提交失败(响应){
self.submissionResults='发生错误:'+response.status;
};
});
当我检查发送到API的有效负载时,有两个表单元素存在(
employeeName
salary
),但部门不存在。我将
self.form.department
定义为
select
元素的
ng模型
,为什么不将其作为表单集合的一部分提交?

尝试更改此选项

 ng-options="dept.Name as dept.Name for dept in self.departmentList">

哇!这就成功了。虽然我不知道为什么。是因为我的部门名是部门名吗?小写的
name
是问题吗?
name
departmentList
的关键,谢谢@hadiJz,但我还是不明白。为什么ddn
ng options=“dept.name作为self.departmentList中的dept.name”
不起作用?
 ng-options="dept.Name as dept.Name for dept in self.departmentList">