2013-10-24 119 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