我期待你知道如何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 希望幫助
首先明確要啓用/禁用的。這必須只應用於窗體控件..... –