簡體   English   中英

選擇和ng選項過濾器

[英]select and ng-option filters

誰能微調我的過濾器? 我有3個ng-option指令,每個指令都從前一個過濾掉。 當select元素“返回”一個整數時,我開始工作了,但是現在我需要將它們綁定到一個對象上。

這是我的設置:

formData.divisions = {'Open', 'Mixed'}
formData.teams =
    [{
        "id": 1,
        "division":"Open",
        "name":"Team 1"
    },{
        "id": 2,
        "division":"Open",
        "name":"Team 2"
    },{
        "id": 3,
        "division":"Mixed",
        "name":"Team 3"
    }]

<select
    ng-model="formData.division"
    ng-options="division for division in divisions"></select>

<select
    ng-model="formData.team"
    ng-options="team as team.name for team in teams track by team.id | filter:{division:formData.division}"></select>

<select
    ng-model="formData.opponent"
    ng-options="team as team.name for team in teams | filter:formData.division | filter:{team:'!'+formData.team}"></select>

這是第二和第三個選擇元素不太正確。 我確定他們很接近。

第一個選擇僅列出分區。

第二名只想列出所選部門內的球隊。

第三名希望與第二名相同,但也不要顯示第二名所選擇的球隊。

謝謝!

所以這可行。 第2個和第3個選擇元素都被第1個過濾。 第3個也會過濾掉第2個中選擇的內容。

<select
    ng-model="formData.division"
    ng-options="division for division in divisions"></select>

<select
    ng-model="formData.team"
    ng-options="team as team.name for team in teams | filter:formData.division | track by team.id"></select>

<select
    ng-model="formData.opponent"
    ng-options="team as team.name for team in teams | filter:formData.division | filter:{id:'!'+formData.team.id} track by team.id"></select>

附帶說明,這可能對其他嘗試執行類似操作的人有所幫助。 我想用用戶上次訪問時選擇的選項預填充選項。 該對象被緩存。 幫助我做到這一點但又有些麻煩的是“跟蹤”。 這篇文章對https://coderwall.com/p/p-glog/angularjs-using-trackby-with-filters-in-an-ng-repeat有幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM