Javascript 如何通过单击按钮从内部关闭uib手风琴
我想关闭一个按钮点击手风琴从里面。我试图将isOpen设置为false,但它不起作用。有没有办法在点击按钮时关闭它?多谢各位 普朗克: 显示手风琴时,必须将$scope.isOpen设置为true,然后$scope.isOpen=false将关闭手风琴 编辑: 这就是普朗克 显示手风琴时,必须将$scope.isOpen设置为true,然后$scope.isOpen=false将关闭手风琴 编辑: 这就是普朗克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放在集合中,为每个手风琴药丸提供单独的切换,使每个药丸单独切换,并且可以工作,请检查下面的代码: 控制器:
<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 = [];
}