使用AngularJS的级联下拉列表

时间:2015-12-04 00:24:33

标签: javascript html angularjs

商家有多个分支机构。 选择merchant时,我尝试制作另一个下拉列表,列出来自merchant.branches的数据。

执行以下操作似乎无法解决问题:

                <label>Merchant:</label>
                <select ng-if="merchants" ng-model="merchant" ng-options="merchant.name for merchant in merchants track by merchant.id"></select>
                <span ng-if="!merchants">Listing merchants, please wait...</span>

                <br />

                <label>Branch:</label>
                <select ng-if="merchant.branches" ng-model="device.branch" ng-options="branch.name for branch in merchant.branches track by branch.id"></select>
                <span ng-if="!merchant.branches">Listing branches, please wait...</span>

                <pre>
                    {{ merchant.branches }}
                </pre>

请注意,数据是正确的,商家可以与各自的分支机构正确归档。

解决

使用不同的方法(通过在第一个下拉列表中调用ng-change,然后填充第二个下拉列表)。 但是,是否可以在不编写任何控制器代码的情况下实现此目的?

1 个答案:

答案 0 :(得分:0)

我必须猜测你的控制器是如何工作的,但你可能会对此感到满意:

<label>Branch:</label>
<select ng-if="merchant.branches" 
    ng-model="device.branch" 
    ng-options="branch.name for branch in merchants[merchant.id].branches track by branch.id"></select>