Javascript 使用md select AngularJs 1.X.X从对象获取密钥值时出现的问题
从AngularJs应用程序(版本1.X.X)中使用md select选择的对象中获取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":[
键的值
时遇到问题
我有两个下拉列表“部门
”和“名称
”。最初我加载了部门,根据部门选择,名称将自动填充。请查看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=名称;
};
});