如何在jquery smart wizard中动态添加ng click handler以获取下一个按钮

时间:2016-05-11 14:04:49

标签: javascript jquery angularjs

我只是想在按钮上添加ng-click处理程序。 我怎样才能做到这一点?我尝试了下面的代码,但事实并非如此 工作,任何帮助赞赏。

btNext = $('<a>' + options.labelNext + '</a>').attr("href", "").addClass("buttonNext");
$('.buttonNext').attr('ng-click', 'LoadSecondDivDetails()');

2 个答案:

答案 0 :(得分:1)

这不起作用,因为 AngularJS 会编译一次代码。

为了让ng-click起作用,你需要告诉它再次编译。

使用$compile提供程序告诉 AngularJS 重新编译您的html部分。

在你的情况下:

btNext = $compile('<a ng-click="your_action()"></a>')($scope);

答案 1 :(得分:0)

不建议混合使用angularJS和jquery。 AngularJS已经在处理DOM元素,你最终可能会遇到一些不需要的行为。我会使用ngShow / ngHide以angularJS格式保存整个向导,以创建向导的向导表单。然后,您可以将变量范围限定为ng-show

 ng-show="currentPage == 1"

然后提交运行一个更改为向导下一部分的函数。

ng-submit="loadNext(2)"

你有一个处理所有这一切的功能。像

这样的东西
$scope.loadNext = function () {
   $scope.currentPage += 1;
};

$scope.goBack = function () { //this can be your back button
    $scope.currentPage -= 1;
};