我正在尝试将JQuery网站转换为AngularJS,但我无法解决这个问题。
在JQuery中我使用了:
$('.bet').change(function(e) {
// Do someting
};
我尝试用AngularJS做多件事,但没有成功 目前我在我的HTML中有这个,我的Angular文件中没有相关内容
的index.php
<input type="number" class="form-control" id="bet" name="bet" placeholder="Your bet" ng-model="bet" ng-change="bet( {{bet}} )"/>
如何在AngularJS中执行此操作?
答案 0 :(得分:2)
来自文档:
在用户更改输入时评估给定的表达式。表达式是立即计算的,不像JavaScript onchange事件,它只在更改结束时触发(通常,当用户离开表单元素或按下返回键时)。
所以基本上你需要将一个函数绑定到ng-change
属性,就像这样:
<input type="number" name="bet" placeholder="Your bet" ng-model="bet" ng-change="betChanged(bet)"/>
和控制器中的监听器:
$scope.betChanged = function(bet){
//do something...
console.log(bet);
}
像这样,每次下注都会改变betChanged,就像本机javascript input
函数一样。
答案 1 :(得分:0)
var myApp = angular.module('myApp',[]);
myApp.controller('myCtrl', ['$scope', function($scope) {
$scope.bet = "";
$scope.onBetChanged = function () {
alert($scope.bet);
};
}]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp" ng-controller="myCtrl">
<input type="number" class="form-control" id="bet" name="bet" placeholder="Your bet" ng-model="bet" ng-change="onBetChanged()"/>
</div>
答案 2 :(得分:0)
$ watch
怎么样?<div ng-app="myApp" ng-controller="myCtrl">
First Name:
<input type="text" ng-model="firstName"><br>
Full Name: {{firstName }}
</div>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function ($scope, $window) {
$scope.$watch('firstName', function (newValue, oldValue) {
console.log('oldValue=' + oldValue);
console.log('newValue=' + newValue);
//do something
$window.alert("Event fired");
});
});
</script>