在我的表格中,我有两个按钮启用和禁用。在表格中,我希望借助这些按钮禁用/启用整行。首先,禁用按钮必须处于活动状态,同时禁用启用按钮。当我单击“禁用”按钮时,整个行应该被禁用,并且“禁用”按钮被禁用时,“启用”按钮必须处于活动状态。如何在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>
答案 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-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>