[英]Filter ng-options condition ng-model
我試圖根據另一個選擇器中選擇的值來過濾選擇。 這些共同點具有價值。 數據是:
國別
{
"paisCodigo": "AR",
"paisNombre": "Argentina",
"paisVigente": 1
},
{
"paisCodigo": "CL",
"paisNombre": "Chile",
"paisVigente": 1
},
{
"paisCodigo": "UY",
"paisNombre": "Uruguay",
"paisVigente": 1
}
<select name="selectPais" id="selectPais" ng-model="defaultPais" ng-options="pais.paisCodigo as pais.paisNombre for pais in paises track by pais.paisCodigo">
<option value="">Seleccione país</option>
</select>
城市
{
"ciuId": 1,
"ciuNombre": "Santiago",
"ciuPaisCodigo": "CL",
"ciuVigente": 1
},
{
"ciuId": 2,
"ciuNombre": "Viña del Mar",
"ciuPaisCodigo": "CL",
"ciuVigente": 1
},
{
"ciuId": 3,
"ciuNombre": "Valparaíso",
"ciuPaisCodigo": "CL",
"ciuVigente": 1
},
{
"ciuId": 4,
"ciuNombre": "Quilpué",
"ciuPaisCodigo": "CL",
"ciuVigente": 1
},
{
"ciuId": 5,
"ciuNombre": "Montevideo",
"ciuPaisCodigo": "UY",
"ciuVigente": 1
},
{
"ciuId": 6,
"ciuNombre": "Buenos Aires",
"ciuPaisCodigo": "AR",
"ciuVigente": 1
}
<select name="selectCiudad" id="selectCiudad" ng-disabled="!defaultPais" ng-model="defaultCiudad" ng-options="ciudad.ciuId as ciudad.ciuNombre for ciudad in ciudades ((paises | filter:{'ciuPaisCodigo' : defaultPais})) track by ciudad.ciuId">
<option value="">Seleccione ciudad</option>
</select>
這是行不通的。 我想過濾選擇城市,可能希望通過與這些安排相同的值進行過濾,例如國家代碼:CL,AR,UY。 但是我一直無法得到。 任何批評都值得歡迎,我在AngularJS和ionic中都是新手。
無需批評。 您只需要利用ng-change。
在您的第一個下拉列表中,然后進行ng更改。 在控制器中創建一個函數,以更新將在第二個下拉列表中使用的陣列。
我將快速解決...注意,我沒有將pais傳遞給該功能
<select name="selectPais" id="selectPais" ng-model="defaultPais" ng-options="pais.paisCodigo as pais.paisNombre for pais in paises track by pais.paisCodigo" ng-change="updateTheOtherDropdown()">
<option value="">Seleccione país</option>
</select>
在您的控制器中,放入偽代碼。 您應該可以使用$ scope.defaultPais訪問所選對象
$scope.updateTheOtherDropdown =function()
{
在這里,您可以使用$ scope.defaultPais過濾下一個數組。
$scope.ciudades = whatever you filtered;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.