繁体   English   中英

使用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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM