Angular JS,AJAX调用select来填充另一个select

时间:2015-03-04 16:03:04

标签: ajax angularjs

有没有人使用AngularJS做任何事情,并根据选择选择在页面上填充另一个下拉列表的下拉列表。

我们有一项服务,我们正在填充选择下拉列表。但是我们在页面上有另一个下拉列表,当第一个下拉列表部分生成时,第二个下拉列表将根据第一个下拉列表的选择动态填充信息。

JSON结构示例:

[{
   "Cars":{
     "Type": "Hatchback",
     "Type": "Sedan"
    },
   "Trucks":{
     "Type": "Small",
     "Type": "Full Size"
    }
}]

因此,如果我的第一个<select>下拉列表包含汽车和卡车的选项,那么根据该选择,第二个<select>下拉列表将动态填充&#39;类型&#39;基于汽车或卡车的选择。

有没有人有任何见解或指向基于此的任何教程?

提前致谢

1 个答案:

答案 0 :(得分:1)

使用第一个选择中的选项填充列表:

<select ng-model="d1" ng-options="key for key in vehKeys"></select>
<select ng-model="d2" ng-options="t.Type for t in veh[d1]"></select>

我的控制器看起来像这样:(我改变了你的格式,因为它是,Type会一直覆盖它自己)

$scope.veh = {
   "Cars":[
     {"Type": "Hatchback"},
     {"Type": "Sedan"}
    ],
   "Trucks":[
     {"Type": "Small"},
     {"Type": "Full Size"}
    ]
};

$scope.vehKeys = Object.keys($scope.veh);

我不完全确定为什么你不能做这样的事情

<select ng-model="d1" ng-options="type for type in Object.keys(veh)"></select>

所以我只是在控制器中做到了。