Javascript 获取SELECT from db的下拉列表值,而不是在UI(Angularjs)处进行硬编码

Javascript 获取SELECT from db的下拉列表值,而不是在UI(Angularjs)处进行硬编码,javascript,html,angularjs,select,drop-down-menu,Javascript,Html,Angularjs,Select,Drop Down Menu,我有下面的下拉列表选择HTML标签 <label>Car:</label> <select ng-model="params.CarName"> <option value="x" disabled="" selected="">Select Car...</option> <option value="BMW">BMW</option> <option value="Audi">Audi

我有下面的下拉列表选择HTML标签

<label>Car:</label>
<select ng-model="params.CarName">
  <option value="x" disabled="" selected="">Select Car...</option>
  <option value="BMW">BMW</option>
  <option value="Audi">Audi</option>
</select>

<label>Model:</label>
<select ng-if="params.CarName == 'BMW'" ng-model="params.CarModel" ng-change="PerfRpt()">
  <option value="x" disabled="" selected="">BMW Sports</option>
  <option value="BMW 328i">BMW 328i</option>
  <option value="BMW Sports">BMW Sports</option>
</select>

<select ng-if="params.CarName == 'Audi'" ng-model="params.CarModel" ng-change="PerfRpt()">
  <option value=" " disabled="" selected="">Audi Sports</option>
  <option value="Audi i345">Audi i345</option>
  <option value="Audi Sports">Audi Sports</option>
</select>

<select ng-if="params.CarName!= 'BMW' && params.CarName != 'Audi'">
  <option>-</option>
</select>

您需要一个包含汽车名称的数组,例如

$scope.carNameOptions = [
    'BMW'
    'Audi'
];
然后你会这样做:

<select ng-model="params.CarName">
    <option value="">Select car...</option>
    <option ng-repeat="car in carNameOptions" value="{{car}}">{{car}}</option>
</select>
乙二醇

由于数据库中只存储了汽车模型,因此可以检索它们,然后创建一个新数组,将类型放入其中,如下所示:

(函数(){
“严格使用”;
有棱角的
.module('应用程序',[])
.controller('MainCtrl',MainCtrl);
MainCtrl.$inject=['$scope'];
函数MainCtrl($scope){
//从数据库
风险值数据=[
“宝马”,
“奥迪”
];
$scope.cars=[
{  
“车型”:“宝马”,
“类型”:[
“宝马328i”,
“宝马运动”
]
},
{  
“车型”:“奥迪”,
“类型”:[
“奥迪i345”,
“奥迪运动”
]
}
];
}
})();


所选车辆: 所选类型:
嗯,你的问题有点不清楚。。您是如何从数据库中获取这些项目的?@developer033-问题中编辑了ajax调用的响应。这是给汽车的dropdown@inostia-我已经用从数据库中得到的汽车下拉列表的值编辑了这个问题。我可以直接使用ng repeat(如上所述)从后端分配此响应吗?是的,请参阅我编辑的答案,以便与简单数组一起使用(其中选项
s与显示的名称相同)。您的是带有汽车名称的数组。我的是从数据库中得到的不同格式。你能告诉我如何将对象数组转换成arraylist吗?类似的东西可以直接使用对象
{{{option.Car}
@inostia-这是很大的帮助。谢谢
<select ng-model="params.CarName">
    <option value="">Select car...</option>
    <option ng-repeat="car in carNameOptions" value="{{car}}">{{car}}</option>
</select>
<select ng-model="params.CarModel">
    <option value="">Select model...</option>
    <option ng-repeat="carModel in carModelOptions[params.CarName]" value="{{carModel}}">{{carModel}}</option>
</select>
$scope.carModelOptions = {
    'BMW' : [
        'BMW 328i',
        ...
    ],
    'Audi' : [...]
}