2014-04-21 73 views
0

我是AngularJs的新手,我試圖更改其他選擇框更改時選擇框的選定選項。更改AngularJs中事件的選定選項

所以有2個選擇框是這樣的:

<select class="form-control" id="select-01new" ng-model="applicationOption" ng-change="AppChange(applicationOption)"> 
<option value="">Please Select</option> 
<option ng-repeat="act in applicationOptions" value="{{act._id}}">{{act.name}}</option> 
</select> 

<select data-ng-model="posture.Value" id="scurityPosture" data-ng-options="act as act for act in activities" class="form-control">     
</select> 

這裏是控制器:

sampleApp.controller('CreateAppController', function ($scope, AppDataService) { 
    $scope.posture = { 
      name: "Dani", 
      Value: "Low" 
     }; 
     $scope.activities = 
     [ 
      "High", 
      "Medium", 
      "Low" 

     ]; 
$scope.AppChange = function() { 
     AppDataService.save($scope.applicationOption).then(
      function (datac) { 
       $scope.posture = { name: "Dani", Value: "High" }; 
      }); 
    } 

    }); 

你可以看到,有ng-change在第一個選擇框中。每當我們改變第一個選擇框的選項時,控制器中定義的函數將運行。在該功能中,第二個選擇框的值會更改。但是這部分功能不起作用。

請幫我整理一下。 在此先感謝。

+0

請準備一把小提琴...... – gkalpak

回答

0

每當您更改第一個選擇框時,AppChange方法將被執行,觸發AppDataService中的'Save'方法。在這裏,承諾對象可以訪問AJAX調用的結果通過「再」的方法(see $q service documentation)

然後(successCallback,errorCallback,notifyCallback) - 無論 時的承諾是或將得到解決或拒絕,然後在結果 可用時立即調用一個 異步成功或錯誤回調。

在上面的控制器中,您只提供成功回調,而您可能有錯誤,並且您的成功代碼將不會執行。

您應該首先檢查是否執行了成功回調,然後再進一步調試。我的猜測是你從服務器得到一些錯誤,你永遠不會達到成功的狀態。

相關問題