【发布时间】:2016-11-05 03:20:52
【问题描述】:
var appCompAssets = angular.module('app.company.assets', []);
appCompAssets.controller('locationDetailCTRL', function($scope, $http) {
// LOAD LOCATION DETAILS
$scope.loadBranches = function() {
$http.get('../getBranches_id_name/' + $scope.compid)
.then(
function(response) {
if (response.data.length !== 0) {
$scope.getBranches_id_name = response.data;
console.log($scope.getBranches_id_name);
}
},
function(response) {
// error handling routine
console.log('$Error: no data for branch id & name');
});
};
$scope.loadLocations = function(branch_id) {
$scope.branchid = branch_id;
$http.get('../getLocations_id_name/' + $scope.branchid)
.then(
function(response) {
if (response.data.length !== $scope.branchid) {
$scope.getLocations_id_name = response.data;
console.log($scope.getLocations_id_name);
}
},
function(response) {
// error handling routine
console.log('$Error: no data for location id & name');
});
};
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div data-ng-app="app.company.assets" data-ng-controller="locationDetailCTRL">
<div class="row" data-ng-init="loadBranches()">
<div class="col-sm-12">
<div class="form-group">
<label for="branch_id" class="small"><i>Branch</i>
</label>
<select class="form-control input-sm" data-ng-init="loadLocations(assetInfo.branch_id)" data-ng-change="loadLocations(assets.branch_id)" id="branch_id" name="branch_id" data-ng-model="assets.branch_id">
<option data-ng-selected="assetInfo.branch_name ===b.branch_name" data-ng-repeat="b in getBranches_id_name" value="{{b.id}}">{{b.branch_name}}</option>
</select>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="form-group">
<label for="location_id" class="small"><i>Location</i>
</label>
<select class="form-control input-sm" id="location_id" name="location_id">
<option value=""></option>
<option data-ng-repeat="l in getLocations_id_name" value="{{l.id}}" data-ng-selected="l.location_name == assetInfo.location_name">{{l.location_name}}</option>
</select>
</div>
</div>
</div>
</div>
伙计们,我在同时使 data-ng-selected、data-ng-model 和 data-ng-change 工作时遇到问题。
如果没有 data-ng-model 和 data-ng-change
data-ng-selected 工作正常。
排除了data-ng-model和data-ng-change,只保留了data-ng-selected,输出如下:
虽然它能够显示想要的值,但在更改分支(下拉列表)时,各个分支的位置不会改变,因为没有 ng-change 和 ng-model 存在。
但是,如果将上面提到的所有 data-ng 属性(data-ng-model、ng-change 和 ng-selected)一起使用,它将无法正确显示,因为没有选择它应该选择的分支。输出如下:
对于更改分支和位置将更改,该部分工作正常。
我们将不胜感激。谢谢!。
顶部的响应结果是分支,底部的响应结果是位置。谢谢你。
【问题讨论】:
-
能否提供两个 $http.get 调用的响应数据?
-
嗨@Deep,我已经为您提供了 $http.get 调用的响应数据。谢谢。
标签: javascript php angularjs model-view-controller angular-ui-bootstrap