AngularJS中的上一步
Previous Step in AngularJS
我是AngularJS的新手。我想在AngularJS中创建一个Previous函数。我创建了单页应用程序,它由表单组成,表单有多个步骤。我已经用这个代码创建了我的表单步骤。
<form name='myform' id="myform" ng-init="step = 1" ng-submit="submitForm(myform.$valid)">
<div ng-show="step==1">
<div ng-form='step1form'>
</div>
</div>
</form>
我在网上得到了这个,但我不明白如何在AngularJS中工作。在这个在线表单中,他们创建了一个字段集。我已经迈出了步伐。如何使以前的函数变成这样?
$(".previous").click(function(){
//if(animating) return false;
animating = true;
current_fs = $(this).parent();
previous_fs = $(this).parent().prev();
//de-activate current step on progressbar
$("#progressbar li").eq($("fieldset").index(current_fs)).removeClass("active");
//show the previous fieldset
previous_fs.show();
//hide the current fieldset with style
current_fs.animate({opacity: 0}, {
step: function(now, mx) {
//as the opacity of current_fs reduces to 0 - stored in "now"
//1. scale previous_fs from 80% to 100%
scale = 0.8 + (1 - now) * 0.2;
//2. take current_fs to the right(50%) - from 0%
left = ((1-now) * 50)+"%";
//3. increase opacity of previous_fs to 1 as it moves in
opacity = 1 - now;
current_fs.css({'left': left});
previous_fs.css({'transform': 'scale('+scale+')', 'opacity': opacity});
},
duration: 800,
complete: function(){
current_fs.hide();
animating = false;
},
//this comes from the custom easing plugin
easing: 'easeInOutBack'
});
});
将step
变量移动到控制器,然后在从一个窗体移动到另一个窗体时递增/递减:
HTML:
<div ng-controller="MyCtrl"
<!-- no ng-init anymore -->
<form name='myform' id="myform"
ng-submit="submitForm(myform.$valid)">
<div ng-show="step==1">
<div ng-form='step1form'>
</div>
</div>
<button ng-show="step > 1" ng-click="previous()">Previous</button>
<button ng-show="step < maxStep" ng-click="next()">Next</button>
</form>
</div>
JS:
function MyCtrl($scope) {
$scope.step = 1;
$scope.maxStep = 100; // <-- Maximum num. of steps in the form.
$scope.previous = function() { $scope.step -= 1; }
$scope.next = function() { $scope.step += 1; }
}
动画原则上应该更改为由.ng-enter/.ng-leave
类触发的CSS动画。否则,您将需要自定义指令。
相关文章:
- 对父作用域的指令更新延迟了一步
- Parsley.js,多步骤表单,在移动到上一步时跳过验证
- 有没有一种方法可以在所有嵌套循环之后放置一个标签,以便在一步中将它们全部打断
- 如何禁用在Bootstrap中不完成一步就转到下一步
- 如何使用Jquery一步一步地获取PHP数据
- jQuery Slider 滑得太远了一步
- 将“下一步”和“上一个”按钮添加到较大的图像
- 引导表单向导 - 防止在提交 ajax 响应的每个页面表单出现错误时滚动到下一步
- 如何创建一个“下一步”按钮,使用 Java 脚本和 Twitter Bootstrap 切换选项卡
- 如何在单击下一步时使文本移动/更改
- 您如何控制在填写表单时单击下一步时 iOS/Android 将关注哪个字段
- JQuery SlideToggle()在放松的每一步都执行函数
- 对变更作出反应->setState落后一步
- AngularJS中的上一步
- Jquery UI选项卡-根据输入字段值,使用“下一步”/“上一步”按钮推进选项卡
- 我有一系列的处方受试者(a->B->C->a),但最后一步不起作用
- Jquery选项卡单击时高亮显示'下一步'按钮
- 如何解析用户对象以返回屏幕名称并继续下一步操作
- AngularJS ui-router,滚动到状态改变的下一步
- AngularJS多步骤表单-按enter键应该会移动到下一步,并在最后一步提交