如何将jquery的以下函数迁移到angular js?
$( "#foo" ).trigger( "click" );
这里的问题是我计划在用户填写我们的应用程序中的某些数据时自动触发提交按钮。
所以我来自jquery background,
提前感谢。
答案 0 :(得分:14)
$scope.triggerClick = function () {
$timeout(function() {
angular.element('#foo').trigger('click');
}, 100);
};
如果需要,$ timeout将对该周期运行$。
答案 1 :(得分:7)
$timeout(function() {
angular.element(domElement).triggerHandler('click');
}, 0);
$timeout
用于打破角度$apply
周期。
答案 2 :(得分:1)
通常您不会在AngularJS中提交表单。您使用XHR发送数据并以JSON格式获取响应。
这样的事情:
查看强>
<form name="myForm" ng-submit="login(credentials)">
<label>
Username:
<input type="text" ng-model="credentials.username" />
</label>
<label>
Password:
<input type="password" ng-model="credentials.password" />
</label>
<button type="submit">Login</button>
</form>
<强> CONTROLLER 强>
$scope.credentials = {};
$scope.login = function login(credentials) {
var user = credentials.username;
var pass = credentials.password;
// Do some data validation
if (!user || !pass) {
$window.alert('Please, enter a username and a password!');
return;
}
// Send the data and parse the response
// (usually done via a Service)
LoginService.login(user, pass);
};
另请参阅此 short demo 。
答案 3 :(得分:-1)
除此之外,您可以使用ng-change
并从控制器调用提交功能。像这样:
<input type="text" ng-model="userData.field1" ng-change="mySubmitFunction(userData)">
答案 4 :(得分:-2)
如果你有一个按钮,你需要在按钮上使用ng-click="myFunctionName()"
。
在脚本文件中,您使用myFunctionName = $scope.function(){ yourCode... }
如果你非常关心Angular ...你应该读一下它,因为它基本上远离DOM,对你的网页进行“控制”,并且需要ng-app
,{{1并使用ng-controller
来保存内容和数据的状态。