Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.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
Javascript 使用md select AngularJs 1.X.X从对象获取密钥值时出现的问题_Javascript_Angularjs_Json_Selectedindex_Md Select - Fatal编程技术网

Javascript 使用md select AngularJs 1.X.X从对象获取密钥值时出现的问题

Javascript 使用md select AngularJs 1.X.X从对象获取密钥值时出现的问题,javascript,angularjs,json,selectedindex,md-select,Javascript,Angularjs,Json,Selectedindex,Md Select,从AngularJs应用程序(版本1.X.X)中使用md select选择的对象中获取键的值时遇到问题 我有两个下拉列表“部门”和“名称”。最初我加载了部门,根据部门选择,名称将自动填充。请查看JSON对象 { "Status":true, "Message":"", "Result":[ { "DepartmentId":1, "Name":"Bala", "Designation":[

从AngularJs应用程序(版本1.X.X)中使用md select选择的对象中获取
键的
时遇到问题

我有两个下拉列表“
部门
”和“
名称
”。最初我加载了部门,根据部门选择,名称将自动填充。请查看JSON对象

{
   "Status":true,
   "Message":"",
   "Result":[
      {
         "DepartmentId":1,
         "Name":"Bala",
         "Designation":[
            {
               "DesignationId":1,
               "DepartmentId":1,
               "Name":"Software Engg"
            },
            {
               "DesignationId":3,
               "DepartmentId":1,
               "Name":"Sr. Human Resouce"
            },
            {
               "DesignationId":2,
               "DepartmentId":1,
               "Name":"Sr. Software Engg"
            }
         ]
      },
      {
         "DepartmentId":2,
         "Name":"Dev",
         "Designation":[

         ]
      },
      {
         "DepartmentId":3,
         "Name":"HR Team",
         "Designation":[

         ]
      },
      {
         "DepartmentId":4,
         "Name":"Sales",
         "Designation":[
            {
               "DesignationId":4,
               "DepartmentId":4,
               "Name":"Sr. Sales Manager"
            }
         ]
      }
   ]
}
请看一下代码


部门:

{{key.Name} 部门编号:


名称:

{{key.Name} 标识ID:

var-app=angular.module('myApp',['ngMaterial']); 应用程序控制器('myCtrl',函数($scope){ $scope.loadUpdatea={ 部门:angular.fromJson(“{”+ “状态”:true+ “\”消息\“:\“\”,”+ “\“结果\”:[”+ " {" + “部门ID”:1+ “\'Name\':\'Bala\',”+ “\“名称\:[”+ " {" + “指定ID”:1+ “部门ID”:1+ ““名称”:“软件工程”+ " }," + " {" + “指定ID”:3+ “部门ID”:1+ ““姓名”:“高级人力资源部”+ " }," + " {" + “指定ID”:2+ “部门ID”:1+ ““名称”:“高级软件工程师”+ " }" + " ]" + " }," + " {" + “部门ID”:2+ “\”名称\“:\”开发人员\“+ “\“名称\:[”+ " ]" + " }," + " {" + “部门ID”:3+ “\”姓名“:\”人力资源团队“,”+ “\“名称\:[”+ " ]" + " }," + " {" + “部门ID”:4+ “\”名称“:\”销售“,”+ “\“名称\:[”+ " {" + “指定ID”:4+ “部门ID”:4+ ““姓名”:“高级销售经理”+ " }" + " ]" + " }" + " ]" + “}”)结果 }; $scope.Select={ 部门:{}, 名称:{} }; $scope.onChange=函数(选定){ var Designation=JSON.parse(selected).Designation; 控制台日志(名称); $scope.designationData=名称; }; });
需要解决两个主要问题:

  • 您在控制器中定义
    $scope.Select=…
    ,但尝试在视图中使用
    ng model=“Select.Department”
    引用它。JavaScript/Angular区分大小写,因此
    Select!==选择
    -确保引用具有相同大小写的变量

  • 要将对象值绑定到控件时,在
    元素上使用
    ng value=“key”
    而不是
    value=“{{key}}}”
    。有了这个修正,您不需要onChange处理程序中的
    JSON.parse(…)

  • 通过这两项更改,更新后的代码如下:

    
    部门:

    {{key.Name} 部门编号:


    名称:

    {{key.Name} 标识ID:

    var-app=angular.module('myApp',['ngMaterial']); 应用程序控制器('myCtrl',函数($scope){ $scope.loadUpdatea={ 部门:angular.fromJson(“{”+ “状态”:true+ “\”消息\“:\“\”,”+ “\“结果\”:[”+ " {" + “部门ID”:1+ “\'Name\':\'Bala\',”+ “\“名称\:[”+ " {" + “指定ID”:1+ “部门ID”:1+ ““名称”:“软件工程”+ " }," + " {" + “指定ID”:3+ “部门ID”:1+ ““姓名”:“高级人力资源部”+ " }," + " {" + “指定ID”:2+ “部门ID”:1+ ““名称”:“高级软件工程师”+ " }" + " ]" + " }," + " {" + “部门ID”:2+ “\”名称\“:\”开发人员\“+ “\“名称\:[”+ " ]" + " }," + " {" + “部门ID”:3+ “\”姓名“:\”人力资源团队“,”+ “\“名称\:[”+ " ]" + " }," + " {" + “部门ID”:4+ “\”名称“:\”销售“,”+ “\“名称\:[”+ " {" + “指定ID”:4+ “部门ID”:4+ ““姓名”:“高级销售经理”+ " }" + " ]" + " }" + " ]" + “}”)结果 }; $scope.select={ 部门:{}, 名称:{} }; $scope.onChange=函数(选定){ var名称=所选。名称; 控制台日志(名称); $scope.designationData=名称; }; });