Javascript 从api到下拉菜单的角度JS绑定结果
您好,我正在尝试获取从api返回的数据:Javascript 从api到下拉菜单的角度JS绑定结果,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,您好,我正在尝试获取从api返回的数据: [{"Language":{"Id":1,"Name":"English"},"Occupations":[{"Id":1,"Name":"Banquet Server"},{"Id":2,"Name":"Bar Tender"},{"Id":3,"Name":"Catering Manager"}] 并使用angular JS将其绑定到下拉菜单: $scope.industry = []; $http.get('/industrygroup
[{"Language":{"Id":1,"Name":"English"},"Occupations":[{"Id":1,"Name":"Banquet Server"},{"Id":2,"Name":"Bar Tender"},{"Id":3,"Name":"Catering Manager"}]
并使用angular JS将其绑定到下拉菜单:
$scope.industry = [];
$http.get('/industrygroup?languageid=1')
.then(function (result) {
$scope.industry = result.data;
});
这是HTML布局
<select class="form-control" style="width:25% !important; margin-bottom:20px;" ng-model="industry">
$scope.user
是我用来从输入字段收集数据的工具。也许您需要
*.js
*.html
<select data-ng-options="p.Name for p in industry[0].Occupations" data-ng-model="selected">
</select>
<select>
<option ng-repeat="op in Options()">{{op}}</option>
</select>
你想要所有的职业名称你可以做到:
*.js
$scope.Options=function()
{
var数据=[];
对于(变量i=0;i<$scope.industry.length;i++)
对于(var j=0;j<$scope.industry[i]。职业。长度;j++)
data.push($scope.industry[i].职业[j].Name);
返回数据;
}
*.html
<select data-ng-options="p.Name for p in industry[0].Occupations" data-ng-model="selected">
</select>
<select>
<option ng-repeat="op in Options()">{{op}}</option>
</select>
{{op}}
也许你需要
*.js
*.html
<select data-ng-options="p.Name for p in industry[0].Occupations" data-ng-model="selected">
</select>
<select>
<option ng-repeat="op in Options()">{{op}}</option>
</select>
你想要所有的职业名称你可以做到:
*.js
$scope.Options=function()
{
var数据=[];
对于(变量i=0;i<$scope.industry.length;i++)
对于(var j=0;j<$scope.industry[i]。职业。长度;j++)
data.push($scope.industry[i].职业[j].Name);
返回数据;
}
*.html
<select data-ng-options="p.Name for p in industry[0].Occupations" data-ng-model="selected">
</select>
<select>
<option ng-repeat="op in Options()">{{op}}</option>
</select>
{{op}}
请查看此内容
标记需要如下所示:
[{
"Language": {
"Id": 1,
"Name": "English"
},
"Occupations": [{
"Id": 1,
"Name": "Banquet Server"
}, {
"Id": 2,
"Name": "Bar Tender"
}, {
"Id": 3,
"Name": "Catering Manager"
}]
} ,
{
"Language": {
"Id": 2,
"Name": "English2"
},
"Occupations": [{
"Id": 4,
"Name": "Banquet Server 2"
}, {
"Id": 5,
"Name": "Bar Tender 2"
}, {
"Id": 6,
"Name": "Catering Manager 2"
}]
}, ...];
<select ng-model="occupation" ng-options="occ.Name for occ in industry[0].Occupations"></select>
是一个数组,因此您需要访问第一个数组(基于示例数据)行业
- 在此范围内,您希望循环查看
以获得您想要的职业
occ
- 您希望显示
,因此通过Name
occ.Name
超时
模拟plnkr中的$http
承诺解决方案请查看此内容
标记需要如下所示:
[{
"Language": {
"Id": 1,
"Name": "English"
},
"Occupations": [{
"Id": 1,
"Name": "Banquet Server"
}, {
"Id": 2,
"Name": "Bar Tender"
}, {
"Id": 3,
"Name": "Catering Manager"
}]
} ,
{
"Language": {
"Id": 2,
"Name": "English2"
},
"Occupations": [{
"Id": 4,
"Name": "Banquet Server 2"
}, {
"Id": 5,
"Name": "Bar Tender 2"
}, {
"Id": 6,
"Name": "Catering Manager 2"
}]
}, ...];
<select ng-model="occupation" ng-options="occ.Name for occ in industry[0].Occupations"></select>
是一个数组,因此您需要访问第一个数组(基于示例数据)行业
- 在此范围内,您希望循环查看
以获得您想要的职业
occ
- 您希望显示
,因此通过Name
occ.Name
注意:控制器正在使用
超时
模拟plnkr中的$http
承诺解决方案请显示要在下拉列表中显示的项目。选择标记上的ng model
也是所选项目,而ng options
用于定义可用项目。我试图做的是显示json中的每个名称。哪些名称?“语言/职业”或“英语”或“宴会服务员/酒吧招标”请在下拉列表中显示您希望显示的项目。选择标记上的ng model
也是所选项目,而ng options
用于定义可用项目。我试图做的是显示json中的每个名称。哪些名称?“语言/职业”或“英语”或“宴会服务员/酒吧服务员”ng选项
需要ng型号
,因此这将无法按说明工作。它也与OP提供的JSON的结构不匹配。我使用了ng options=“p.occulations.name for p in industry”和ng model=“user.industry”user.industry来保存下拉菜单的值,实际上这也不起作用,因为JSON中没有职业.name
属性。我认为他们可能想要的是列举职业名称,因此可能类似于
,但他们确实必须澄清,说sureyes@MarcKline这不是100%清楚,如果你想编辑我的答案,现在我收到一个错误,说$http未定义。ng options
需要ng model
,因此,这将不会工作的介绍。它也与OP提供的JSON的结构不匹配。我使用了ng options=“p.occulations.name for p in industry”和ng model=“user.industry”user.industry来保存下拉菜单的值,实际上这也不起作用,因为JSON中没有职业.name
属性。我认为他们可能想要的是列举职业名称,因此可能类似于
,但他们确实需要澄清,以确保sureyes@MarcKline不是100%清楚,如果你想编辑我的答案,现在我收到一个错误,说$http未定义。