我正在尝试以角度js填充当前选定的项目。
当前所选项目的ID为event.email.chases[0].id
我正在尝试将其与从case.activeChases
这就是我想要的,它会在选择框发生变化时更新。
<select
class="form-control"
name="chase"
id="chase"
ng-model="customer.chase"
ng-change="addEmailToChase(customer.chase.id, event.email.id)"
ng-options="cor as cor.emails[0].subject for cor in case.activeChases">
<option value="">None</option>
</select>
我需要使用activeChases
找到activeChases[x].id = event.email.chases[0].id
中的追踪,因此在页面加载时会选择正确的值。
我可以在ng-selected
属性中完成所有操作吗?
答案 0 :(得分:0)
您的模型和ng-options有问题,如果您想要自动选择&#34;对象应该是相同的。
没有jsfiddle很难重现你的情况,但我尝试了类似的东西
var app = angular.module('App', []);
app.controller('Ctrl', function($scope) {
$scope.case = {
activeChases: [{
emails: [{
subject: 'toto'
}]
}, {
emails: [{
subject: 'tata'
}]
}]
};
// set "default value"
$scope.customer = {
chase: $scope.case.activeChases[1]
};
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<section ng-app="App" ng-controller="Ctrl">
<select class="form-control" name="chase" id="chase" ng-model="customer.chase" ng-change="addEmailToChase(customer.chase.id, event.email.id)" ng-options="cor as cor.emails[0].subject for cor in case.activeChases">
<option value="">None</option>
</select>
</section>
&#13;
答案 1 :(得分:0)
所以这是我的回答:
<select
class="form-control"
name="chase"
id="chase"
ng-model="event.email.chases[0].id"
ng-change="addEmailToChase(event.email.chases[0].id, event.email.id)"
ng-options="cor.id[0] as cor.emails[0].subject for cor in case.activeChases">
</select>
我希望select中的默认值为event.email.chases[0].id
,因此我只需将ng-model
设置为该值,并将第一个选项更改为cor.id[0]
以在索引中使用id。
我选择ng-model
的随机名称customer.chase
,这是没有意义的。 event
表示加载了ajax的表单元素,因此我可以安全地在我的范围内执行此操作。
另外值得注意的是,由于应用程序中的设计不正确,cor.id[0]
中的ID实际上是一个一号数组。