2017-10-09 197 views
0

我需要全面显示/隐藏点击以显示或隐藏数据“面板”列表的所有细节div。同样在每个面板中,还有一个显示/隐藏点击单独显示或隐藏该数据的分区。用angularjs显示/隐藏所有显示/隐藏区域

我认为如果单击整体显示/隐藏,单击点击值应该设置为等于总值。这样,如果单个人被改变,他们都被设置为显示或隐藏,当主人被点击。

这是我想这样做:

<div>- <a href='#' ng-click="hideAllDetails = ! hideAllDetails; hideDetails = hideAllDetails">Hide All Details/+ Show All</a></div> 

    <div class="tender-list" ng-repeat="row in tenders" ng-include="'tender/tender_panel.html'"></div> 

凡tender_panel.html的隐藏/显示部分是在这里:

 <div>- <a href='#' ng-click="hideDetails = ! hideDetails">Hide Details</a></div> 
    <div class="tender-details" ng-hide="hideDetails"> 

     <table width="100%" id="tender-bottom-table"> 
     <tbody> 
      ... 
     </tbody> 
     </table> 
    </div> 

上面有招标,自下而上另一个表表。再加上另一张桌子。

发生的事情是,它最初加载时工作正常。全部隐藏/显示全部作品。然后我点击个人展览/皮革,他们的工作。但是,全部显示/全部隐藏不再起作用,我不明白点击单个链接是如何破坏事物的。

这个程序是Symfony2 Angular和Bootstrap。

任何帮助将不胜感激。

回答

0

一两件事你可以尝试是有其设置,如果它的显示/隐藏在每个标段项的属性标志和展示基于如果hideAllDetails +他们的国旗是真实的个人资料:

<div>- <a href='#' ng-click="hideAllDetails = ! hideAllDetails;">Hide All 
Details/+ Show All</a></div> 
<div class="tender-list" ng-repeat="row in tenders" ng- 
include="'tender/tender_panel.html'"></div> 

tender_panel。 html:

<div>- <a href='#' ng-click="row.hideDetails = ! row.hideDetails">Hide 
    Details</a></div> 
<div class="tender-details" ng-hide="hideDetails || hideAllDetails"> 

    <table width="100%" id="tender-bottom-table"> 
    <tbody> 
     ... 
    </tbody> 
    </table> 
</div> 
+0

不幸的是,这是行不通的。或者是行不通的,因为只要有一个是真的,另一个就不会改变。需要发生的事情是hideAllDetails发生变化时,所有单独的部分都变为新的选择。之后,他们按照单独的点击,直到再次点击所有点击。全部点击的状态需要以某种方式保存。 – EHendricks