Angularjs 角度ng选项对象链接到ng重复对象
我对angular有一个问题,在选择标记上使用ng选项,默认选择的元素应该由ng repeat元素中“company”中的属性确定。 请看以下代码:Angularjs 角度ng选项对象链接到ng重复对象,angularjs,angularjs-ng-repeat,angularjs-ng-options,Angularjs,Angularjs Ng Repeat,Angularjs Ng Options,我对angular有一个问题,在选择标记上使用ng选项,默认选择的元素应该由ng repeat元素中“company”中的属性确定。 请看以下代码: <tr data-ng-repeat="company in companies"> <td><input data-ng-model="company.Name" value="{{company.Name}}" /></td> <td> <select da
<tr data-ng-repeat="company in companies">
<td><input data-ng-model="company.Name" value="{{company.Name}}" /></td>
<td>
<select data-ng-model="selectedSeller" data-ng-options="seller.Login for seller in sellers">
</select>
</td>
</tr>
我可以通过控制器范围中的$scope.selectedSeller=$scope.companys[0]在所有元素上设置默认元素,但我真正想要的是,通过将seller对象链接到company对象,将selected设置为对公司负责的人。
我需要某种方法来实现下面代码中的“isSelected”
<tr data-ng-repeat="company in companies">
<td><input data-ng-model="company.Name" value="{{company.Name}}" /></td>
<td>
<select data-ng-model="selectedSeller" isSelected="company.responsible == seller.id" data-ng-options="seller.Login for seller in sellers">
</select>
</td>
</tr>
有人知道如何解决这个问题吗?角度是数据驱动的,所以您只需指定模型,ng模型将其连接到输入 所以你只提供ng模型,没有价值,也没有“isSelected” 看看这个例子: select的模型是company.seller,它连接到seller.id,ng选项的语法可以确定什么用作标识符,什么是标签
<select data-ng-model="selectedSeller" data-ng-options="seller.Login for seller in sellers" ng-init="selectedSeller = $filter('filter')($scope.company, {responsible: seller.id})[0]">
</select>
还有一点需要补充,标识符不仅可以是id,还可以是整个对象。将过滤器用作:
{{公司责任已选定}
这是错误的,selectedSeller对于迭代中的每个项目都是相同的。选择必须连接到公司的属性。如果要设置默认值,只需将其设置为模型。是否已编辑?你几乎忘记了我的代码:)但你的代码还是很脏。如果选择了列表,您不需要通过列表进行迭代来确定,并且默认值不应该以这种方式执行。设置模型的方法完全相同,而且更干净。欢迎您,我也希望+1并检查是否正确:)几乎:)+1是向上箭头。但最重要的是你很满意:)没有足够的声誉来按下这个按钮:(还需要两个积分似乎13/15没关系,只是享受stackoverflow:)
var StackController = function() {
this.companies = [
{
name: 'company 1',
responsible : 1
},
{
name: 'company 2',
responsible : 2
},
{
name: 'company 3',
}
];
this.sellers = [
{
login : 'pavel',
id : 1,
},
{
login : 'petr',
id : 2,
},
{
login : 'igor',
id : 3,
}
];
};
angular.module('stackApp', [])
.controller('StackController', StackController);
seller.id as seller.login for seller in vm.sellers
<select data-ng-model="selectedSeller" data-ng-options="seller.Login for seller in sellers" ng-init="selectedSeller = $filter('filter')($scope.company, {responsible: seller.id})[0]">
</select>