[英]onchange event is not working
我已经在选择框中正确添加了更改事件,但是它不起作用。任何线索都将不胜感激。在此先感谢
HTML
[<select id="notifyBy" ng-change="selectchange()" style="border:none" class="formtext1" ng-model="selectvalue" >
<option value="1">E-mail, telephone, etc.</option>
<option>Telephone No:</option>
<option>Telephone No:</option>
<option>Telephone No:</option>
<option>Telephone No:</option>
</select>][1]
controller
angular.module('starter.controllers', [])
[.controller('AppCtrl',\['$scope',function($scope, $ionicModal, $timeout,$location,$ionicPopover,$http,$ionicNativeTransitions) {
$scope.selectchange = function() {
alert("enterd");
}][1]
}])
您缺少期权的价值
<option value="2">Telephone No:</option>
细节
<option value="1">E-mail, telephone, etc.</option>
<option >Telephone No:</option> <!--Added value attribute here -->
<option >Telephone No:</option> <!--Added value attribute here -->
这里的问题是
当您从选项1(电子邮件,电话等)将值更改为选项2(电话号码:)时,它将触发onchange事件
当您将值从选项2(电话号码:)更改为选项3(电话号码:)时,因为值没有变化,它不会触发onchange事件。
解
因此,您应该为所有人设置不同的值。
解决方案1:
<option value="2">Telephone No:</option> <!--Added value attribute here -->
<option value="3">Telephone No:</option> <!--Added value attribute here -->
解决方案2:
<option>Telephone No:1</option> <!--Added value attribute here -->
<option>Telephone No:2</option> <!--Added value attribute here -->
angular.module('starter', []) .controller('AppCtrl', ['$scope', function($scope, $ionicModal, $timeout, $location, $ionicPopover, $http, $ionicNativeTransitions) { $scope.selectchange = function() { alert("enterd"); } } ])
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> <div ng-app="starter" ng-controller="AppCtrl"> <select id="notifyBy" ng-change="selectchange()" style="border:none" class="formtext1" ng-model="selectvalue"> <option value="1">E-mail, telephone, etc.</option> <option value="2">Telephone No:</option> <!--Added value attribute here --> <option value="3">Telephone No:</option> <!--Added value attribute here --> <option value="4">Telephone No:</option> <option value="5">Telephone No:</option> </select> </div>
问题是因为您一次又一次选择相同的值。
尝试为每个选项添加一个值。
DEMO
var app = angular.module('todoApp', []); app.controller("dobController", ["$scope", function($scope) { $scope.selectchange = function() { alert("enterd"); } } ]);
<!DOCTYPE html> <html ng-app="todoApp"> <head> <title>To Do List</title> <link href="skeleton.css" rel="stylesheet" /> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.min.js"></script> </head> <body ng-controller="dobController"> <select id="notifyBy" ng-change="selectchange()" style="border:none" class="formtext1" ng-model="selectvalue"> <option value="1">E-mail, telephone, etc.</option> <option value="2">Telephone No:</option> <option value="3">Telephone No:</option> <option value="4">Telephone No:</option> <option value="5">Telephone No:</option> </select> </body> </html>
Angular似乎很困难,因此我们很少有机会从头到尾犯错,在这里我看到的一些事情还没有完成。
太好了,您在这里:
angular.module('starter.controllers', [])
.controller('AppCtrl',['$scope',function($scope) {
$scope.selectchange = function() {
alert("enterd");
}
}]);
angular.bootstrap(document, ['starter.controllers']);
JSFiddle链接 : https : //jsfiddle.net/Ashokkumargupta/8a7zxdq4/1/
干杯,阿肖克
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.