使用angular js基于第一个选择的选项过滤第二个选择框



我有两个选择框,它使用ng选项和硬编码来获取数据。第二个选择框应显示基于第一个选择框中所选数据的数据。这就是plunker
https://plnkr.co/edit/r1S1e61H3RfH3uYGYTBP?p=preview
有人能帮我吗?

$scope.data = [{
        cities: [{
            id: 1,
            title: 'Mysore'
        }, {
            id: 2,
            title: 'Bangalore'
        }, {
            id: 3,
            title: 'Delhi'
        }, {
            id: 4,
            title: 'Mumbai'
        }],
        maps: [{
                id: 1,
                title: 'Zoo',
                city_id: 1
            }, {
                id: 2,
                title: 'Palace',
                city_id: 1
            }, {
                id: 3,
                title: 'Beach',
                city_id: 4
            }]
    }];

您可以将所选城市的id从第一个下拉列表作为过滤器传递到第二个下拉列表,如下方

<select name="mapSelect" required="true" ng-options="map as map.title for map in data[0].maps | filter:{'city_id':citySelect.selectedOption.id}" ng-model="mapSelect.selectedOption"></select>

最新更新