Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何通过单击按钮从内部关闭uib手风琴_Javascript_Angularjs_Angular Ui Bootstrap_Accordion - Fatal编程技术网

Javascript 如何通过单击按钮从内部关闭uib手风琴

Javascript 如何通过单击按钮从内部关闭uib手风琴,javascript,angularjs,angular-ui-bootstrap,accordion,Javascript,Angularjs,Angular Ui Bootstrap,Accordion,我想关闭一个按钮点击手风琴从里面。我试图将isOpen设置为false,但它不起作用。有没有办法在点击按钮时关闭它?多谢各位 普朗克: 显示手风琴时,必须将$scope.isOpen设置为true,然后$scope.isOpen=false将关闭手风琴 编辑: 这就是普朗克 显示手风琴时,必须将$scope.isOpen设置为true,然后$scope.isOpen=false将关闭手风琴 编辑: 这就是普朗克 我将isOpen放在集合中,为每个手风琴药丸提供单独的切换,使每个药丸单独切换,并且

我想关闭一个按钮点击手风琴从里面。我试图将isOpen设置为false,但它不起作用。有没有办法在点击按钮时关闭它?多谢各位

普朗克:

显示手风琴时,必须将$scope.isOpen设置为true,然后$scope.isOpen=false将关闭手风琴

编辑: 这就是普朗克

显示手风琴时,必须将$scope.isOpen设置为true,然后$scope.isOpen=false将关闭手风琴

编辑: 这就是普朗克

我将isOpen放在集合中,为每个手风琴药丸提供单独的切换,使每个药丸单独切换,并且可以工作,请检查下面的代码:

控制器:

<div uib-accordion-group ng-init="group.isOpen=false" is-open="group.isOpen" class="panel-default" heading="{{group.title}}" ng-repeat="group in groups">
  {{group.content}}
  <button ng-click="group.isOpen=false">close this</button>
</div>
视图:

我已修改了您的plunker:

我将isOpen放在集合中,为每个手风琴药丸提供单独的切换,使每个药丸单独切换,并且可以工作,请检查下面的代码:

控制器:

<div uib-accordion-group ng-init="group.isOpen=false" is-open="group.isOpen" class="panel-default" heading="{{group.title}}" ng-repeat="group in groups">
  {{group.content}}
  <button ng-click="group.isOpen=false">close this</button>
</div>
视图:

我已修改了您的plunker:

您可以使用ng init在使用ng repeat循环时分配新属性isOpen。更新

更改模板而不在控制器中添加属性:

<div uib-accordion-group ng-init="group.isOpen=false" is-open="group.isOpen" class="panel-default" heading="{{group.title}}" ng-repeat="group in groups">
  {{group.content}}
  <button ng-click="group.isOpen=false">close this</button>
</div>
在使用ng repeat循环时,可以使用ng init指定新属性isOpen。更新

更改模板而不在控制器中添加属性:

<div uib-accordion-group ng-init="group.isOpen=false" is-open="group.isOpen" class="panel-default" heading="{{group.title}}" ng-repeat="group in groups">
  {{group.content}}
  <button ng-click="group.isOpen=false">close this</button>
</div>

我可以通过稍微更改@MrNobody解决方案来实现我所需要的

视图:


我可以通过稍微更改@MrNobody解决方案来实现我所需要的

视图:


你刚刚复制了@arsinawaz的答案。是的,我意识到我是如何粘贴它的。但它不是一个副本;你刚刚复制了@arsinawaz的答案。是的,我意识到我是如何粘贴它的。但它不是一个副本;非常感谢。它工作正常,但是否有任何方法可以在不改变对象(即不在每个对象内添加等参键)的情况下实现它?谢谢。它工作得很好,但有没有办法在不改变对象(即不在每个对象内部添加等参键)的情况下实现它?手风琴内部有一种形式。表格有效时,我想关上手风琴。如何在控制器中将isOpen[$index]设置为false@SateeshKumarAlli如果您可以使用表单更新此plunker代码,将很容易为您提供帮助:。手风琴中有一个表单。表格有效时,我想关上手风琴。如何在控制器中将isOpen[$index]设置为false@SateeshKumarAlli如果您可以使用以下表单更新此plunker代码,将很容易为您提供帮助:。
<div uib-accordion-group ng-init="group.isOpen=false" is-open="group.isOpen" class="panel-default" heading="{{group.title}}" ng-repeat="group in groups">
  {{group.content}}
  <button ng-click="group.isOpen=false">close this</button>
</div>
<uib-accordion close-others="oneAtATime" ng-init="isOpen=[]">

    <div uib-accordion-group ng-init="isOpen[$index]=false" is-open="isOpen[$index]" class="panel-default" heading="{{group.title}}" ng-repeat="group in groups">
      {{group.content}}
      <button ng-click="isOpen[$index]=false">close this</button>
    </div>

</uib-accordion>
<uib-accordion close-others="true">
    <div uib-accordion-group is-open="isOpen[$index]" class="panel-default" heading="{{group.title}}" ng-repeat="group in groups">
      {{group.content}}
      <button ng-click="close($index)">close this</button>
    </div>
  </uib-accordion>
  <button ng-click="closeFromOutside()">close from outside</button>
$scope.isOpen = [];

  $scope.groups = [
    {
      title: 'Dynamic Group Header - 1',
      content: 'Dynamic Group Body - 1'
    },
    {
      title: 'Dynamic Group Header - 2',
      content: 'Dynamic Group Body - 2'
    }
  ];

  $scope.close = function(index){
    $scope.isOpen[index] = false;

  }
  $scope.closeFromOutside = function(){
    $scope.isOpen = [];
  }