我想在Aurelia中创建依赖下拉列表。Aurelia中的依赖/级联下拉列表
我的意思是依赖下拉列表是,如果您单击第一个下拉列表中的项目,则第二个下拉列表中的选项将根据您点击的内容进行过滤。如果你看看我的小提琴,你会注意到,如果你在第一个下拉列表中选择丰田,第二个填充丰田汽车模型(卡罗拉,凯美瑞等)。如果您在第一个下拉列表中选择本田,则第二个车型会搭载本田车型(雅阁,思域等)。你明白了。
这非常简单,需要很少的代码才能在Angular中做到这一点,我想知道在Aurelia中这样做是否也很简单直接。在Aurelia,我无法找到如何做到这一点的资源。下面的提琴演示了我想要完成的事情(除了我想在Aurelia做,而不是Angular)。任何帮助将非常感激。谢谢!
https://jsfiddle.net/nhunt3/wjvvjwzx/
HTML:
<div ng-app="myApp" ng-controller="myController">
My Cars
<br />
<table>
<thead>
<tr>
<td>Make</td>
<td>Model</td>
</tr>
</thead>
<tbody>
<tr ng-repeat="car in myCars track by car.uid">
<td>
<select ng-model="car.MakeUID" ng-options="make.uid as make.name for make in makes" />
</td>
<td>
<select
ng-model="car.ModelUID"
ng-options="model.uid as model.name for model in models | filter: { parentID: car.MakeUID } : true" />
</td>
</tr>
</tbody>
</table>
</div>
的JavaScript:
// the main (app) module
var myApp = angular.module("myApp", []);
angular.module('myApp', []).controller('myController', function($scope) {
$scope.makes = [
{name:'Toyota', uid:1},
{name:'Honda', uid:2},
{name:'Ford', uid:3}
];
$scope.models = [
{name:'Yaris', uid:1, parentID:1},
{name:'Corolla', uid:2, parentID:1},
{name:'Camry', uid:3, parentID:1},
{name:'Highlander', uid:4, parentID:1},
{name:'Accord', uid:5, parentID:2},
{name:'Civic', uid:6, parentID:2},
{name:'Pilot', uid:7, parentID:2},
{name:'Focus', uid:8, parentID:3},
{name:'Fiesta', uid:9, parentID:3},
{name:'Fusion', uid:10, parentID:3},
{name:'F-150', uid:10, parentID:3}
];
$scope.myCars = [
{uid:1, MakeUID:1, ModelUID:2},
{uid:2, MakeUID:1, ModelUID:3},
{uid:3, MakeUID:3, ModelUID:8}
];
});
谢谢,埃里克!这很棒!有一些我自己的小功能,但我相信我能弄明白。 (1)当您选择我的产品时,模型会选择空白而不是第一个模型。 (2)当我的页面加载时,它显示myCars,它是丰田卡罗拉,丰田凯美瑞和福特福克斯。你只是一直向下展示丰田Yaris。但是就像我说的那样,你很少,而且几乎全部都是。万分感谢!我会花几天时间看看是否有更好的答案,然后我会接受你的答案。 –
我试图upvote你的答案,但它说我不能upvote,直到我的声誉更高。 –
立即尝试upvoting并接受。 –