2015-10-06 74 views
0

我有两个按钮:激活和暂停。 我想要一个按钮被禁用,当我选择表的行。如何通过选择角度js中的表格行来禁用两个按钮中的一个按钮?

在HTML中:

<div class="pull-right"> 
    <button ng-disabled ="orders.status == pause" id = "activated" class="pull-left btn btn-primary">Activated</button> 
    <button ng-disabled ="orders.status == activated" id = "paused" class="pull-left btn btn-primary">Paused</button> 
</div> 
<br/> 
<br/> 
<table class="table table-color table-bordered table-hover"> 
    <thead> 
    <tr> 
     <th> 
     Rotation Order 
     </th> 
     <th> 
     Tag Name 
     </th> 
     <th> 
     Status 
     </th> 
    </tr> 
    </thead> 


<tbody> 
    <tr ng-repeat="orders in vm.rotationTable" ng-class="{selected : orders.rotationOrder == vm.idSelectedOrder}" ng-click="vm.setSelected(orders.rotationOrder)"> 
     <td>{{orders.rotationOrder}}</td> 
     <td>{{orders.tagName}}</td> 
     <td>{{orders.status}}</td> 
    </tr> 
    </tbody> 
</table> 

在JScript:

// Code goes here 

var myApp = angular.module('myApp',[]); 
    myApp.controller('tagController', ['$scope',function ($scope) { 

    var vm = this; 
    vm.rotationTable = [ 
     { 
      "rotationOrder": "1", 
      "tagName": "Tag D", 
      "status":"Activated" 
     }, 
     { 
      "rotationOrder": "2", 
      "tagName": "Tag E", 
      "status": "Paused" 
     }, 
     { 
      "rotationOrder": "3", 
      "tagName": "Tag F", 
      "status": "Activated" 
     } 
    ] 

    vm.idSelectedOrder = null; 
    vm.setSelected = function (index) { 
     vm.idSelectedOrder = index; 
     console.log(vm.idSelectedOrder); 
    }; 
}]); 

,你可以在这里看到我的工作。

http://plnkr.co/edit/UiMhLbzhxg3I5cGuiK0J?p=preview 

而且如果任何人都可以建议: - 当其已经选择如何修复表行的悬停时,已经选择了它,我不希望在行悬停效果?

+0

你的按钮没有任何代码来实际运行任何东西。你忘了'ng-click'吗? –

+0

我解决了这个问题,抱歉...你也可以参考plunker。 – Pallavi

+0

'vm.rotationTable'只在'ng-repeat'内变成'orders'。你的按钮在它之外。 'orders'不在其范围内。 –

回答

1

更改ng-click

ng-click="vm.setSelected(orders)" 

而不是用来存放vm.idSelectedOrder,存储实际的订单。为控制器创建一个vm.selectedOrder变量。

而在你的按钮,您将使用:

ng-disabled ="vm.selectedOrder.status == 'Paused'" 

这是plunk

+0

只是一个人抬头,我也做了这个在PLUNER ...这似乎是工作,但'vm.idSelectedOrder'实际上并不是一个从零开始的索引。这是一个强制分配的值,从1开始。这意味着单击最后一个元素是指超出边界的索引(3,其中长度为3的数组中的最大索引为2)。 –

+0

你的逻辑是正确的。但逻辑不工作在第三行的表格上。 – Pallavi

+0

好的,我该如何解决这个问题? – Pallavi

相关问题