2015-08-31 52 views
0

我有我的Angular.JS控制器文件裏下面的代碼:調用函數時,下拉改變

JBenchApp.controller('CaseListCtrl', ['$scope', '$http', 
    function ($scope, $http) { 
     // Case list stuff here 
      $http.get('http://10.34.34.46/BenchViewServices/api/Calendar/LA/5/08-27-2015').success(function (response) { 
       $scope.cases = response; 
      }); 

      $http.get('http://10.34.34.46/BenchViewServices/api/CourtDept/LA').success(function (response) { 
       $scope.departments = response; 
      }); 
    }]); 

的情況下,變量包含選定法庭(部門)的事件列表。我想要的是改變這一點,以便在用戶界面發生變化時刷新案例。例如,部門是下拉列表的一部分,當我更改部門時,我想更改個案變量以包含新選擇的審判室(部門)的事件。此外,我有一個日期選擇器,當它發生變化時,我希望案例變量包含當前選定的審判室(部門)新選定日期的通風口。

編輯從這裏開始:我明白,我可以用NG-變化綁定到這樣的$範圍功能:

JBenchApp.controller('CaseListCtrl', ['$scope', '$http', 
    function ($scope, $http) { 
     // Case list stuff here 
     $scope.getCalendar = function() { 
      $http.get('http://10.34.34.46/BenchViewServices/api/Calendar/LA/5/08-27-2015').success(function (response) { 
       $scope.cases = response; 
      }); 
     } 

      $http.get('http://10.34.34.46/BenchViewServices/api/CourtDept/LA').success(function (response) { 
       $scope.departments = response; 
      }); 
    }]); 

不過,我也明白,我需要一個NG-模式,以使用NG -更改。然後提出兩個問題:

  1. 如何建立脫離部門的模型,因爲它們也是動態加載的?我已經將它設置爲$ scope.departments ...是否正確?
  2. 日曆屏幕加載時如何處理日曆內容的初始加載?
+0

你可以將範圍方法綁定到下拉提供的ng-change上它有一個ng模型。 – PSL

+0

下面是一個在選擇動作中的ng-change小提琴示例:http://jsfiddle.net/nm6h1re4/ – james

+0

http://stackoverflow.com/questions/24253933/call-controller-function-from-select-angularjs – PSL

回答

0

您在下拉菜單中進行ng-change,像這樣:

<select ng-change="updateCase()"> 

那麼你可以做一個函數在你的控制器:

$scope.updateCase = function(){ 
    var filter = //your logic... 
    $scope.cases = filter; 
} 
0

您可以使用ng-change指令

喜歡的東西

現在
<input ng-model = 'someModel' ng-change = 'someChangeFunction()' /> 

,在你的控制器,你可以有這樣的事情 -

$scope.someChangeFunction = function() 
{ 
    //code to change cases model data 
} 

你應該改變AngularJS documentation - ngChange

+0

如何針對從我的數據庫動態抓取的部門設置模型?上面給出的例子(對於答案)具有硬編碼的值。 –