Javascript 如何在angularJS中填充selectbox?
本文介绍如何使用angular JS设置下拉列表控件的选定选项Javascript 如何在angularJS中填充selectbox?,javascript,angularjs,ng-options,Javascript,Angularjs,Ng Options,本文介绍如何使用angular JS设置下拉列表控件的选定选项 $scope.alltoys=[ { "dId": "570b886545034f0001718247", "dName": "Toys", "dSubName": "Comics", "users": [ { "name": "Superman", "id":
$scope.alltoys=[
{
"dId": "570b886545034f0001718247",
"dName": "Toys",
"dSubName": "Comics",
"users": [
{
"name": "Superman",
"id": "570b9e3a45034f000171827b"
},
{
"name": "Batman",
"id": "570ba00045034f000171828a"
}]
},
{
"dId": "5767c68c52faff0001fb8555",
"dName": "Toys",
"dSubName": "General",
"users": [
{
"name": "Jack",
"id": "570b9e3a45034f000171827b"
},
{
"name": "Sparrow",
"id": "570ba00045034f000171828a"
}]
}
]
如何使用angular js填充此选择框
我想这样填充
Toys-Comics
Batman
Superman
Toys-General
Jack
Sparrow
在这里玩具漫画和玩具一般是唯一的标题,选定的内容
我想在填充时对用户数组进行排序
<div class="controls">
<select class="form-control" ng-model="toy"
ng-options="eachtoy as eachtoy.dName+' - '+eachtoy.dSubName group by eachtoy for eachtoy in alltoys">
<option value="">---------------Select---------------</option>
</select>
</div>
---------------挑选---------------
我试过了,但不起作用。有几处变化。首先,确保$scope.alltoys是一个集合(数组),如下所示:
$scope.alltoys = [{
"dId": "570b886545034f0001718247",
"dName": "Toys",
"dSubName": "Comics",
"users": [{
"name": "Superman",
"id": "570b9e3a45034f000171827b"
}, {
"name": "Batman",
"id": "570ba00045034f000171828a"
}]
}, {
"dId": "5767c68c52faff0001fb8555",
"dName": "Toys",
"dSubName": "General",
"users": [{
"name": "Jack",
"id": "570b9e3a45034f000171827b"
}, {
"name": "Sparrow",
"id": "570ba00045034f000171828a"
}]
}];
<select class="form-control" ng-model="toy">
<option value="">---------------Select---------------</option>
<optgroup ng-repeat="eachtoy in alltoys | orderBy: 'dName + dSubName" label="{{eachtoy.dName+' - '+eachtoy.dSubName}}">
<option ng-repeat="user in eachtoy.users | orderBy: 'name'">{{user.name}}</option>
</optgroup>
</select>
然后更改html以使用optgroup处理组,如下所示:
$scope.alltoys = [{
"dId": "570b886545034f0001718247",
"dName": "Toys",
"dSubName": "Comics",
"users": [{
"name": "Superman",
"id": "570b9e3a45034f000171827b"
}, {
"name": "Batman",
"id": "570ba00045034f000171828a"
}]
}, {
"dId": "5767c68c52faff0001fb8555",
"dName": "Toys",
"dSubName": "General",
"users": [{
"name": "Jack",
"id": "570b9e3a45034f000171827b"
}, {
"name": "Sparrow",
"id": "570ba00045034f000171828a"
}]
}];
<select class="form-control" ng-model="toy">
<option value="">---------------Select---------------</option>
<optgroup ng-repeat="eachtoy in alltoys | orderBy: 'dName + dSubName" label="{{eachtoy.dName+' - '+eachtoy.dSubName}}">
<option ng-repeat="user in eachtoy.users | orderBy: 'name'">{{user.name}}</option>
</optgroup>
</select>
---------------挑选---------------
{{user.name}
这里有一些有效的改动。首先,确保$scope.alltoys是一个集合(数组),如下所示:
$scope.alltoys = [{
"dId": "570b886545034f0001718247",
"dName": "Toys",
"dSubName": "Comics",
"users": [{
"name": "Superman",
"id": "570b9e3a45034f000171827b"
}, {
"name": "Batman",
"id": "570ba00045034f000171828a"
}]
}, {
"dId": "5767c68c52faff0001fb8555",
"dName": "Toys",
"dSubName": "General",
"users": [{
"name": "Jack",
"id": "570b9e3a45034f000171827b"
}, {
"name": "Sparrow",
"id": "570ba00045034f000171828a"
}]
}];
<select class="form-control" ng-model="toy">
<option value="">---------------Select---------------</option>
<optgroup ng-repeat="eachtoy in alltoys | orderBy: 'dName + dSubName" label="{{eachtoy.dName+' - '+eachtoy.dSubName}}">
<option ng-repeat="user in eachtoy.users | orderBy: 'name'">{{user.name}}</option>
</optgroup>
</select>
然后更改html以使用optgroup处理组,如下所示:
$scope.alltoys = [{
"dId": "570b886545034f0001718247",
"dName": "Toys",
"dSubName": "Comics",
"users": [{
"name": "Superman",
"id": "570b9e3a45034f000171827b"
}, {
"name": "Batman",
"id": "570ba00045034f000171828a"
}]
}, {
"dId": "5767c68c52faff0001fb8555",
"dName": "Toys",
"dSubName": "General",
"users": [{
"name": "Jack",
"id": "570b9e3a45034f000171827b"
}, {
"name": "Sparrow",
"id": "570ba00045034f000171828a"
}]
}];
<select class="form-control" ng-model="toy">
<option value="">---------------Select---------------</option>
<optgroup ng-repeat="eachtoy in alltoys | orderBy: 'dName + dSubName" label="{{eachtoy.dName+' - '+eachtoy.dSubName}}">
<option ng-repeat="user in eachtoy.users | orderBy: 'name'">{{user.name}}</option>
</optgroup>
</select>
---------------挑选---------------
{{user.name}
这里有一个使用order by?尝试使用mdMenu而不是drop的工作down@KiranKumar我不明白。你能帮我吗?ji。你能理解我的问题吗?@LonelyPlanet我试过了,但我没有理解你的$scope.alltoys json不正确。(未格式化)尝试使用order by?使用mdMenu而不是dropdown@KiranKumar我不明白。你能帮我吗?ji。你能理解我的问题吗?@LonelyPlanet我试过了,但我没有理解你的$scope.alltoys json不正确。(未格式化)如何对标题和内容进行排序是肯定的。使用orderBy。。。我已经更新了我的答案,很好,你的答案很好,我是新来的。我想你在游泳这很好很好,不客气。你提出了一个写得很好、很简洁的问题,很容易帮助你。干得好!祝你好运。。。这是一个很好的框架。如何获得相应的选定玩具id我没有得到它?如何排序标题和内容是肯定的。使用orderBy。。。我已经更新了我的答案,很好,你的答案很好,我是新来的。我想你在游泳这很好很好,不客气。你提出了一个写得很好、很简洁的问题,很容易帮助你。干得好!祝你好运。。。这是一个伟大的框架。如何获得相应的选定玩具id我没有得到它?