首页 > 解决方案 > 我的下拉列表选择 onchange 没有在 Angular js 中触发

问题描述

我很陌生AngularJS,我想获得OnChange下拉列表的值。

下面是我尝试过的代码

<div>
    <select ng-controller="UserSelection as User" ng-model="User.UserSelected" ng-change="onSelectChange()">            
        <option value="SAP_Executive">SAP Executive</option>
        <option value="Fiber_Engineer">Fiber Engineer</option>
        <option value="Fiber_Lead">Fiber Lead</option>
        <option value="CMM">CMM</option>
    </select>
</div>

角码

angular.module('App', [])
 .controller('UserSelection', function () {
  var User = this;      
  User.onSelectChange = function () {
      alert('change value selected');
  };
});

我的警报没有触发。请建议我在这里缺少什么

标签: javascripthtmlasp.netangularjs

解决方案


请看下面的代码片段。您已经创建了控制器的别名,但没有使用它。

<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
<body>

<div ng-app="App">
    <select ng-controller="UserSelection as User" ng-model="User.UserSelected" ng-change="User.onSelectChange()" ng-init="User.UserSelected='--select--'">
        <option value="--select--">--select--</option>            
        <option value="SAP_Executive">SAP Executive</option>
        <option value="Fiber_Engineer">Fiber Engineer</option>
        <option value="Fiber_Lead">Fiber Lead</option>
        <option value="CMM">CMM</option>
    </select>
</div>

<script>
 angular.module('App', [])
 .controller('UserSelection', function () {
  var User = this;      
  User.onSelectChange = function () {
      alert('change value selected');
  };
});
</script>

</body>
</html>


推荐阅读