我有两个引导标签,我在第一个标签上显示列表,第二个标签上会有用于添加新记录的文本框。
<ul class="nav nav-tabs naviborder">
<li class="active" ng-click="showTasksList()">
<a class="icontab" data-target="#divTasks" data-toggle="tab">Tasks</a>
</li>
<li ng-click="addTask()" id="liCreateTask">
<a id="aAddTask" class="icontab" data-target="#divCreateTask" data-toggle="tab">Create Task</a>
</li>
</ul>
现在在列表中,我有一些编辑按钮,点击它后,我将填充第二个标签中的文本框并自动显示第二个标签。
现在,我的问题是:我能够填充文本框,但无法切换到第二个标签。
我的AngularJs代码:
$scope.EditFieldForceTask = function (TaskData) {
$scope.TaskEditMode = true;
$scope.TaskContactName = TaskData.CONTACT_NAME;
$scope.TaskContactNumber = TaskData.CONTACT_NUMBER;
$('#aAddTask').click();
//$scope.tab2Click();
}
在调用此$('#aAddTask').click();
后,我收到了三个错误,例如
Error: [$rootScope:inprog] http://errors.angularjs.org/1.4.8/$rootScope/inprog?p0=%24apply
at Error (native)
我还尝试为该标记定义ng-click事件,但即使这样也无效。
但是当我尝试从控制台调用函数$('#aAddTask').click();
时,它工作正常。
任何人都可以告诉我我正在做的错误吗?
答案 0 :(得分:1)
您正在尝试执行点击功能,该功能可能在摘要周期正在进行时触发摘要周期。
使用$ timeout或setTimeout执行当前摘要周期后,您可以延迟执行点击功能。
$timeout(function() {
$('#aAddTask').click();
});