在ng-repeat上删除AngularUI手风琴

时间:2016-07-08 08:14:17

标签: javascript angularjs accordion

所以我试图为我的重复手风琴添加删除功能。 显示按钮并设置功能,但是当按下删除按钮时,页面几乎重新加载,然后重定向到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(事件)语句并将其保留为拼接,但这也不起作用。

提前致谢。

1 个答案:

答案 0 :(得分:1)

我猜你有一个围绕你发布的代码的表格? 如果是这种情况,使用未指定<button>的{​​{1}}会将其默认为type,从而触发原始HTML表单提交,从而重定向。

您可以将type=submit设置为type以防止发生这种情况。

同样button看起来不正确,您的意思是单action.isOpen==!action.isOpen吗?

编辑:=下的某个段落实际上是

  

已知问题

     

要在手风琴中使用可点击元素,您必须覆盖   accordion-group模板使用div元素而不是anchor   元素,并在CSS中添加cursor:pointer。这是由于浏览器   将锚元素解释为任何点击事件的目标,其中   当某些元素(如按钮)嵌套时触发路由   在锚元素内。

http://angular-ui.github.io/bootstrap/#/accordion