使用 ng-model 有条件地过滤 ng-options
Filter ng-options conditionally with ng-model
我想根据 ng-model 过滤 ng-options。
这是 contactsModal 数组的预览
contactsModal = [
{
"account" : {
"id" : 1
},
"first_name" : "Test"
},
{
"account" : {
"id" : 2
},
"first_name" : "Test 2"
}
];
这是我的清单
<select
ng-model="activityAddForm.contact_id"
ng-options="contact.id as (contact.first_name+' '+contact.last_name) for contact in contactsModal | filter:contact.account.id==activityAddForm.account_id track by contact.id">
<option value="">Choisir...</option>
</select>
和用于条件的模型
<select
ng-model="activityAddForm.account_id"
...
我想显示 account.id 与 activityAddForm.account_id
相同的联系人
我试过这条线,但没有用。
| filter:contact.account.id==activityAddForm.account_id
有什么帮助吗?
谢谢:)
尝试:
| filter:{ account: {id: activityAddForm.account_id } }
尝试:
ng-options="contact.id as (contact.first_name+' '+contact.last_name) for contact in
filteredContacts = ( contactsModal | filter:{'account':{'id':activityAddForm.account_id}}:true) track by contact.id"
安全方式:
app.filter('filterContact', ['$filter',function($filter) {
return function(list, value) {
return $filter('filter')(list, function(val, key){
return val.account.id == value;
})
};
}]);
//and your ng-option
ng-options="contact.id as (contact.first_name+' '+contact.last_name) for contact in
contactsModal | filterContact:activityAddForm.account_id track by contact.id
我想根据 ng-model 过滤 ng-options。
这是 contactsModal 数组的预览
contactsModal = [
{
"account" : {
"id" : 1
},
"first_name" : "Test"
},
{
"account" : {
"id" : 2
},
"first_name" : "Test 2"
}
];
这是我的清单
<select
ng-model="activityAddForm.contact_id"
ng-options="contact.id as (contact.first_name+' '+contact.last_name) for contact in contactsModal | filter:contact.account.id==activityAddForm.account_id track by contact.id">
<option value="">Choisir...</option>
</select>
和用于条件的模型
<select
ng-model="activityAddForm.account_id"
...
我想显示 account.id 与 activityAddForm.account_id
相同的联系人我试过这条线,但没有用。
| filter:contact.account.id==activityAddForm.account_id
有什么帮助吗?
谢谢:)
尝试:
| filter:{ account: {id: activityAddForm.account_id } }
尝试:
ng-options="contact.id as (contact.first_name+' '+contact.last_name) for contact in
filteredContacts = ( contactsModal | filter:{'account':{'id':activityAddForm.account_id}}:true) track by contact.id"
安全方式:
app.filter('filterContact', ['$filter',function($filter) {
return function(list, value) {
return $filter('filter')(list, function(val, key){
return val.account.id == value;
})
};
}]);
//and your ng-option
ng-options="contact.id as (contact.first_name+' '+contact.last_name) for contact in
contactsModal | filterContact:activityAddForm.account_id track by contact.id