2017-03-27 117 views
1

我需要根據這些多重選擇中的國家過濾城市。 我使用ui-select進行多選,感謝@tanmay。基於另一個多重選擇的多重選擇

請看看這個小提琴。

Fiddle

+0

能否請你擴大你的問題其實是可以做是什麼?謝謝。 –

+0

你能解釋一下你想達到什麼嗎? – Nishant123

+0

@ Nishant123正如您在小提琴中所看到的,我需要根據相關國家過濾城市。這意味着當我選擇美國時,只有相關的城市出現。請看小提琴。 –

回答

1

您可以添加ng-change一個函數,將返回所有城市被選擇的國家

$scope.getCityList=function(){ 

     var sampletemp = []; //temp array to hold filtered values 
     $scope.selected.country.forEach(function(country) { 
     //bjectFromArrayFilter --> A filter function that will do the filtering 
     var temp = objectFromArrayFilter($scope.samples,'country',country); 
     sampletemp = sampletemp.concat(temp); 
     //Filter duplicate city names 
     $scope.uniquecity = $filter('unique')(sampletemp, 'city'); 
     //Reset all the already selected values 
     $scope.selected.city= []; 

     $scope.city = $scope.uniquecity.map(function(item) { 
     return item.city 
     }) 
    } 

過濾功能。

您也可以使用此功能執行自定義過濾。只是傳遞對象的數組,過濾鍵和值相匹配

var objectFromArrayFilter=function(arrayOptions, key, value) { 
    var filterResult = arrayOptions.filter(function(val) { 
      return val[key] === value; 
    }); 
    return filterResult; 
}; 

FULL EXAMPLE

類似的功能,可用於過濾其它$scope.samples

+0

我也需要反向過濾。這意味着當我選擇這個城市時,國家選項會被填滿。你能幫我解答嗎? –

+0

過濾兩種方式可能會導致錯誤。過濾國家或城市 – Nishant123