您好,感谢您的帮助。我有两个选择字段,一个选择字段用于状态,另一个选择用于城市。当用户更改所选状态时,我正试图从服务器中生成的JSON中加载城市。如果你能提供帮助,非常感谢..
的JavaScript :
var geo = function(app){
app.controller("geoCtrl",function($scope, $http, geoFactory){
$scope.mcpios = [];
$scope.dptos = [];
$scope.$watch('dpto', function (nuevoValor, viejoValor) {
if(!viejoValor || !nuevoValor) return;
if (nuevoValor.id_departamento === viejoValor.id_departamento) { return; }
geoFactory.actMucpios($scope.dpto.id_departamento).success(function(rs){
console.log(rs[0]);
$scope.mcpios = rs[0];
});
}, true);
geoFactory.get().success( function(rs){
$scope.dptos = rs[1];
$scope.dpto = $scope.dptos[0];
});
});
app.factory(" geoFactory",function($ http){
var factory = {};
factory.get = function(){
return $http.get("aplicacion/controladores/controlador_geo.php?listar");
};
factory.actMucpios = function(id_dpto){
return $http.get("aplicacion/controladores/controlador_geo.php?listar&id_dpto=" + id_dpto);
}
返回工厂;
});
}
HTML :
<select ng-controller="geoCtrl" ng-change="actulizar()" ng-model="dpto" class="col-md-12" ng-options="dpto.nombre for dpto in dptos" >
<option ng-repeat-start>Seleccione un Departamento</option>
<option value="{{dpto.id_departamento}}" ng-repeat="dpto in dptos">{{dpto.nombre}}</option>
</select>
<select ng-model="mcpio" class="col-md-12" ng-controller="geoCtrl">
<option ng-repeat-start>Seleccione una Ciudad</option>
<option value="{{mcpio.id}}" ng-repeat="mcpio in mcpios | filter:dpto.id">{{mcpio.nombre}}</option>
</select>
我希望你能帮助我...谢谢
答案 0 :(得分:0)
我在下面创建了plunkr,模拟调用服务来检索状态列表。然后,当选择状态时,它将从对象中检索(或者如果需要,您可以请求$ scope.watch语句中的状态列表来检索城市,然后将城市列表设置为城市的范围集合,并且每次您选择一个新状态,城市列表将会更改。
以下是查看工作示例的链接:http://plnkr.co/edit/ntUblVSSoBzp053GuYvv?p=preview