表格展开&崩溃不在角js工作

时间:2016-02-24 18:51:02

标签: javascript angularjs

以下是扩展和表格的表格结构。崩溃,我已经完成了使用表。现在我使用下面的脚本进行折叠&扩大。但有时我成功地扩展了&有时不这样做。

我做了什么,当我从api得到回应时,我称这个功能为:

$timeout(function (){
                    $scope.initExpandCollapse();
                },1000);


$scope.initExpandCollapse = function () {
       angular.element(document).on("click", ".table_exp", function(){
             var TBODY = angular.element(this).parents(3);
        if(TBODY.hasClass("open")){
            TBODY.children("tr.expand-table-row").hide();
            TBODY.removeClass("open");
            return false;
        }
        TBODY.addClass("open");
        TBODY.children("tr.expand-table-row").show();
    });
 }

enter image description here

如果你们这些人,可以帮我解决这个问题。感谢。

2 个答案:

答案 0 :(得分:1)

<强> CSS

tr.expand-table-row {
   display: none;
}

tr.expand-table-row.open {
   display: initial;
}

<强>角

$scope.expandCollapse = function expandCollapse (item) {
    item.open = !item.open
 }

<强> HTML

<table>
  <tbody>
    <tr ng-repeat="item in items track by $index"">
      <td ng-click="expandCollapse(item)">++++</td>
      <td>
          <table>
            <tr ng-class="{'open': item.open}" class="expand-table-row open">
              <td>{{item.name}}</td>
              <td ng-repeat="data in item.options">{{data.name}}</td>
            </tr>
          </table>
      </td>  
    </tr>
  </tbody>
</table>

您需要嵌套表格,因此点击标记不会随其余部分消失,除了突出点是设置类ng-class="{'open': item.open}"的{​​{1}}表达式,如果属性open项目已设置。

答案 1 :(得分:0)

尝试使用window.onload代替$timeout,或将脚本添加到body标记的末尾。