所以我试图为我的重复手风琴添加删除功能。 显示按钮并设置功能,但是当按下删除按钮时,页面几乎重新加载,然后重定向到localhost:8080 /#但它不应该重定向到这里,并且没有任何迹象表明它应该重定向到这里,不是我能看到的,也许这是其中一个问题?但是,我无法看到这是源于......
由于在刷新页面后还没有托管应用程序,所有数据都会丢失,因为它会被传递到当前编辑视图,前面的视图会将其显示在表格中,直到您单击其中一行并转到所述编辑页面。
这是我的JS删除功能:
$scope.delete = function (index, event) {
if(event) {
event.preventDefault();
event.stopPropagation();
}
$scope.selectedTestScript.Actions.splice(index, 1);
}
这是我的ng-repeat手风琴:
<uib-accordion close-others="oneAtATime">
<uib-accordion-group ng-repeat="action in selectedTestScript.Actions" is-open="action.isOpen" ng-click="action.isOpen=!action.isOpen">
<uib-accordion-heading>
<div>{{action.Description}}<button type="button" class="btn btn-xs btn-danger pull-right" ng-click="delete($index, event)"></i>Delete</button></div>
</uib-accordion-heading>
<div>
<label for="actionNotes" class="control-label col-xs-2">Action Notes</label>
<div class="col-xs-10">
<textarea id="actionNotes" type="text" rows="4"ng-model="action.Notes" class="form-control" name="name"></textarea>
</div>
</div>
<div>
<label for="actionExpected" class="control-label col-xs-2">Action Expected</label>
<div class="col-xs-10">
<input id="actionExpected" type="text" ng-model="action.ExpectedOutcome" class="form-control" name="name">
</div>
</div>
</uib-accordion-group>
</uib-accordion>
我们非常感谢任何帮助,我已经尝试过简化函数并删除if(事件)语句并将其保留为拼接,但这也不起作用。
提前致谢。
答案 0 :(得分:1)
我猜你有一个围绕你发布的代码的表格?
如果是这种情况,使用未指定<button>
的{{1}}会将其默认为type
,从而触发原始HTML表单提交,从而重定向。
您可以将type=submit
设置为type
以防止发生这种情况。
同样button
看起来不正确,您的意思是单action.isOpen==!action.isOpen
吗?
编辑:=
下的某个段落实际上是
已知问题
要在手风琴中使用可点击元素,您必须覆盖 accordion-group模板使用div元素而不是anchor 元素,并在CSS中添加cursor:pointer。这是由于浏览器 将锚元素解释为任何点击事件的目标,其中 当某些元素(如按钮)嵌套时触发路由 在锚元素内。