2016-05-12 95 views
0

我有這樣的HTML代碼:

<select class="" ng-model="livre_selection" material-select multiple watch> 
       <option ng-repeat="livre in livres">{{livre.titre }}</option> 
      </select> 

我可以得到「livre_selection」控制器並把它放在一個變量控制器中,這樣我可以用它?

謝謝

回答

1

是的,你可以得到that.follow的example.check NG-變化NG單擊 functions.you可以同時使用或只有一個功能做到這一點。

<html> 
    <body ng-app="myApp" ng-controller="yourCtrl"> 
    <select ng-model="livre_selection" ng-change="a();" material-select multiple watch> 
    <option ng-repeat="livre in livres">{{livre.titre }}</option> 
    </select> 
    <input type="button" value="save" ng-click="b();"> 

    <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.4.9/angular.min.js"></script> 
    <script> 
    var app = angular.module('myApp', []); 
    app.controller('yourCtrl', function($scope) { 
     $scope.livres=[{titre:"a"}]; 
     var selectedValue; 

     $scope.a = function(){ 
     selectedValue = $scope.livre_selection; 
     } 

     $scope.b = function(){ 
     alert(selectedValue); 
     } 
    }); 
    </script>  
    </body>  
</html> 
3

是的,AngularJS有雙向數據綁定。無論你放在ng模型中,都將通過$scope對象在控制器中提供。 你的情況,你可以通過$scope.livre_selection

+0

它的工作,但是當我把console.log(結果)它顯示輸出兩次,爲什麼呢? – Jean

+0

可以請您使用plunkr並在那裏發佈您的代碼? –

+0

@plunkr https://plnkr.co/edit/cXONkvkEFhS5duPf185R?p=preview – Jean

0

訪問嘗試

$scope.livre_selection = ''; 

因爲$範圍基本上是一個地圖,但更可取yould是使用大寫變量命名,比如:

$scope.liveReSelection = ''; 

之後,您將可以在控制器中訪問此變量。

您可以閱讀更多here

-2
  • 控制器

    $scope.livre_selection = ""; <br>

    var localVariable = "";

    $scope.changeValue=function(changedVal){ localVariable = changedVal; }

  • HTML

  • 寫在HTML n以下的NG-變化耳朵對控制器。
    <select class="" ng-change="changeValue(livre_selection)" ng-model="livre_selection" material-select multiple watch> <option ng-repeat="livre in livres">{{livre.titre }}</option> </select>