如何在启用/禁用按钮的帮助下禁用/启用表中的整行?

时间:2017-08-29 06:59:37

标签: javascript angularjs

在我的表格中,我有两个按钮启用禁用。在表格中,我希望借助这些按钮禁用/启用整行。首先,禁用按钮必须处于活动状态,同时禁用启用按钮。当我单击“禁用”按钮时,整个行应该被禁用,并且“禁用”按钮被禁用时,“启用”按钮必须处于活动状态。如何在angularJS中做到这一点。需要帮助。

<table style="border:1px solid;">
<tr>
  <td>one</td>
  <td>two</td>
  <td>three</td>
  <td>
    <button>ENABLE</button><br/>
    <button>DISABLE</button>
  </td>
</tr>
</table>

https://jsfiddle.net/vtkj1cug/

2 个答案:

答案 0 :(得分:2)

我希望你知道ng-repeat是如何工作的,这就是它的完成方式:

// HTML
<tr ng-repeat="item of items"
    ng-click="rowClicked(item)"
    class="{{item.enabled ? 'row-enabled': ''}}">
  <td>Content 1</td>
  <td>Content 2</td>
  <td>Content 3</td>
  <td>Content 4</td>
  <td>Content 5</td>
  <td>
    <button ng-if="!item.enabled"
            ng-click="item.enabled = true">
      ENABLE
    </button>
    <button ng-if="item.enabled"
            ng-click="item.enabled = false">
      DISABLE
    </button>
  </td>
</tr>

//JS
$scope.rowClicked = function(item)
{
  if (!item.enabled)
  {
    // HEY ROW IS DISABLED YOU CAN'T PASS
    return;
  }

  // stuff
}

更新:

因为此处更改了您的问题的范围是针对您的需求的更新

// HTML
<tr ng-click="rowClicked()"
    class="{{!rowEnabled ? 'disabled': ''}}">
  <td>Content 1</td>
  <td>Content 2</td>
  <td>Content 3</td>
  <td>Content 4</td>
  <td>Content 5</td>
  <td>
    <button ng-disabled="!rowEnabled"
            ng-click="rowEnabled = true">
      ENABLE
    </button>
    <button ng-disabled="rowEnabled"
            ng-click="rowEnabled = false">
      DISABLE
    </button>
  </td>
</tr>

//JS
$scope.rowEnabled = false; // put it somewhere in your declaration area.

$scope.rowClicked = function()
{
  if (!$scope.rowEnabled)
  {
    // HEY ROW IS DISABLED YOU CAN'T PASS
    return;
  }

  // stuff
}

注意:表元素没有disabled属性,它仅适用于输入元素。因此,如果您想要禁用外观,则需要使用CSS自己创建:

tr.disabled {
   // some styles to make your element disabled
   cursor: default;
}

working angularjs example 希望有所帮助

答案 1 :(得分:0)

你只能启用和禁用表单元素,如果你想禁用你最喜欢寻找css样式的表格行,

在表单元素上,您可以使用

laravel_session

ng-disable

在表格行上,您可以添加ng-class来设置表单元素的样式

<md-button class="md-primary md-raised" ng-disable="[Enabled true false var]"> {{enable}} </md-button>
<md-button class="md-warn md-raised" ng-disable="![Enabled true false var]"> {{disable}} </md-button>