【发布时间】:2016-05-05 17:47:23
【问题描述】:
我有一个包含车辆趋势列表和相应型号的 json。
var availables = {
"trends": [
{"label": "ALFA ROMEO"}
],
"models": {
"ALFA ROMEO": [
{"label": "159"},
{"label": "4C"},
{"label": "AR8C SPIDER"},
{"label": "BRERA"},
{"label": "GIULIETTA"},
{"label": "MITO"},
{"label": "SPIDER"}]
}
}
我想在两个select 中显示它们。第一个选择必须以第二个为条件。我确实喜欢这个,而且效果很好。当我选择一个趋势时,另一个select只给我展示了好的模型。
<label class="item item-input item-select">
<span class="input-label">Véhicule</span>
<select ng-model="vehicle.trend" ng-options="trend.label for trend in trends_availables.trends">
<option ng-disabled="true" ng-selected="true" value="">{{"select_trend" | translate}}</option>
</select>
</label>
<label class="item item-input item-select">
<span class="input-label">Modèle</span>
<select ng-model="vehicle.model" ng-options="model.label for model in trends_availables.models[vehicle.trend.label]">
<option ng-disabled="true" ng-selected="true" value="">{{"select_model" | translate}}</option>
</select>
</label>
我的问题来了。当我已经创建了vehicle 时,selects 并没有显示出良好的趋势和模型。由于vehicle.trend 是一个对象,我可以理解ng-model 无法获取label 属性。
我怎样才能使两个select 相互依赖并且趋势/模型显示良好的标签?
当我得到一个像 $scope.vehicle = {"trend": {"label": "ALFA ROMEO"}, "model": {"label": "159"}}; 这样的 vehicle 时,我希望选择显示好的信息。
【问题讨论】:
-
您能否详细说明您的问题?我知道它正在工作,但您的问题尚不清楚。一旦我知道问题所在,我创建了一个 CodePen 来帮助找出解决方案。 CodePen Demo
-
我已经更新了我的问题。
-
澄清一下,您现在要删除选择输入中与您已经选择的内容不匹配的所有其他选择选项
-
当我的车辆对象是
{"trend": {"label": "ALFA ROMEO"}, "model": {"label": "159"}};时,我希望在 ALFA ROMEO 上选择趋势的选择选项,在 159 上选择模型一。这样我可以看到车辆是什么并更改趋势或模型。 -
但这正是正在发生的事情,不是吗?当您从选择输入元素中选择一个选项时,该选择输入将设置为所选选项。