我有这张桌子:
我的问题是我想如果我选中选中行的复选框,它将启用/禁用“ Montant”输入,这是我的尝试,但是它永远无法正常工作
我激活了所有行!
<table>
<thead>
<tr>
<th >
<input type="checkbox" />
</th>
<th>Montant</th>
</tr>
</thead>
<tbody ng-model="finalOperationsList">
<tr ng-repeat="item in finalOperationsList track by $index ">
<td class="TableHeaderalignment"><input type="checkbox"
ng-model="finalOperationsList[$index].checked" ng-change="changeMontantLBL($index)"/></td>
<td class="TableHeaderalignment">
<input type="text" class="form-control" value="{{item.montant}}" ng-disabled="montantBL" />
</td>
</tr>
</tbody>
</table>
这是Controller中的功能:
$scope.changeMontantLBL =function($index){
if(true){
$scope.montantBL = false;
}
else{
$scope.montantBL = true;
}
}
因此,请根据所选行复选框的选择,如何更正我的代码以使输入“ Montant”启用/禁用
感谢帮助
最佳答案
您可以直接在输入文本框的finalOperationsList[$index].checked
中使用“ ng-disabled
”的值,然后完全删除ng-change
和scope.montantBL
。
<tr ng-repeat="item in finalOperationsList track by $index ">
<td class="TableHeaderalignment"><input type="checkbox"
ng-model="finalOperationsList[$index].checked"/></td>
<td class="TableHeaderalignment">
<input type="text" class="form-control" value="{{item.montant}}" ng-disabled="finalOperationsList[$index].checked" />
</td>
</tr>
还应注意,您可能误用了
value="{{item.montant}}"
,应改用ng-model="item.montant"
。您还可以将该行的代码简化为:<tr ng-repeat="item in finalOperationsList track by $index ">
<td class="TableHeaderalignment">
<input type="checkbox" ng-model="item.checked"/></td>
<td class="TableHeaderalignment">
<input type="text" class="form-control" ng-model="item.montant" ng-disabled="item.checked"/>
</td>
</tr>