从选项发送到ngChange值

时间:2014-12-18 11:47:10

标签: javascript angularjs

我有简单的选择,其中有硬编码值,4,8,12并且在更改时我想触发一些角度动作。

<select ng-model="selected" ng-change="setPageSize()">
    <option class="resultsList" value="4">4</option>
    <option class="resultsList" value="8">8</option>
    <option class="resultsList" value="12">12</option>
</select>

我需要将选定选项的值发送到setPageSize函数,但我不知道如何。

我的意思是,括号内应该是什么?

setPageSize($指数);或者什么?

3 个答案:

答案 0 :(得分:3)

由于您要将selected分配给ng-model,因此您应该只能使用它:

<select ng-model="selected" ng-change="setPageSize(selected)">
    <option class="resultsList" value="4">4</option>
    <option class="resultsList" value="8">8</option>
    <option class="resultsList" value="12">12</option>
</select>

答案 1 :(得分:1)

你可以在下面使用它是plunker代码

$scope.setPageSize = function(selected){
    console.log(selected)
}

http://plnkr.co/edit/Tur5PrBHPuMHZBAVoazR?p=preview

答案 2 :(得分:1)

在该功能中,您只需使用$ scope.selected。

angular.module('app', [])
.controller('appCtrl', ['$scope', function($scope){
            $scope.setPageSize = function(){
              $scope.change = $scope.selected;
            };
}]);
<!DOCTYPE html>
<html >
<head>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.2/angular.min.js"></script>
  <meta charset="utf-8">
  <title>JS Bin</title>
</head>
<body  ng-app="app" ng-controller="appCtrl">

  
<select ng-model="selected" ng-change="setPageSize()">
                    <option class="resultsList" value="4">4</option>
                    <option class="resultsList" value="8">8</option>
                    <option class="resultsList" value="12">12</option>
                </select>
  
  

    <p>Changed to:  {{change || 'nothing'}} <p>
</body>
</html>