2013-10-24 117 views
1

請看看this plunkrAngularjs - 選擇/選項 - 應用過濾器後設置默認選擇

我有幾個選擇列表,根據一些簡單的條件進行過濾。有一個(植物)列表,通過點擊「添加」按鈕來動態構建。當添加每行時,我希望選擇自動選擇列表中的第一項。請注意,有些過濾器和項目會根據表單頂部的選擇列表(SalesOrg)進行更改。

最好,我想這樣做,而不使用控制器中的DOM。

更新:看看這個simpler plunk。選擇「德克薩斯州」作爲州。城市的下拉菜單已經過濾。初始選擇不起作用,因爲原始下拉變量(DropDownData.Cities)不再是選擇的來源 - 它已被過濾。

回答

1

只需使用ng-init像:

<select class="form-control" id="selSalesOrg" ng-model="SelData.SalesOrg" 
    data-ng-options="salesOrg.id as salesOrg.Description for salesOrg in DropDownData.SalesOrgs" 
    ng-init="SelData.SalesOrg = DropDownData.SalesOrgs[0].id"> 
    </select> 

固定PLunker

第二種方式是不是ng-init指令添加到您的控制器是這樣的:

$scope.SelData.SalesOrg = DropDownData.SalesOrgs[0].id; 

評論**

由於您使用過濾器實際上我們不能採取第一個元素,但在過濾後首先在列表

+0

謝謝你。另外,看看這個簡單的plunk:http://plnkr.co/edit/hWy14wHXzeyuhTMJqT4S?p=preview。 這正是我想要的:我想訪問過濾列表。 在這個plunk中,選擇「Texas」,並且ng-init不再起作用,因爲原始列表中的第0個元素不再位於「select」中。 – Faredoon