我已經創建了具有在JSON數據中定義的層次結構的鏈接(父 - 子)選擇框。每個選擇框對象都指定了它的父級選擇框對象,以及一組選擇框選項,其中每個選項都包含選項值+父值。選擇框對象還包含選定選項對象,該選項對象與可用選擇框選項對象之一相同。下面是數據的簡化表示:使用ng選項填充選擇框多次調用ng-change函數
我創建動態使用在「選擇」標籤ng-options
選擇盒,然後我使用自定義過濾器,其中我被父匹配濾波器所檢索的選項選項值的選項值與其父對象的「當前選定值」一起使用。基本上使用自定義過濾器從子選項值到所選父值進行多對一映射。
問題是,有了這個結構,我想把ng-change
指令放在選擇框上,它會調用一個控制器函數來做一些事情。但是這個函數被調用的次數與一個層次結構中的選擇框數量相同(在這種情況下爲3,如圖所示)。這在應用程序中造成嚴重的不良行爲。
Here is the Plunker,我在這裏轉載了這個問題。我在選擇框更改事件上調用一個函數來設置與選擇框關聯的單選按鈕(例如,如果選擇了國家/地區選擇框中的某個值,則層次結構中下一個選擇框的單選按鈕,即州,應該被選中)。但由於setDrillDown
函數被多次調用,最後一個與層次結構中最後一個選擇框關聯的單選按鈕被選中。
由於這個問題而陷入困境,任何幫助將不勝感激!