Angularjs的ng-disabled会禁用我所有的按钮
Angularjs ng-disabled is disabling all of my buttons
我有一个在点击时调用的函数。一旦它被点击,我想禁用被点击的按钮。到目前为止,我所能做的就是让所有按钮禁用,当我点击只有一个。我试着放keys
,但我运气不好。
这是我的html:
<tr ng-repeat="parcel in parcels">
<td><a ng-href="http://www.local.com/orders/{{ parcel.id }}/edit/">{{ parcel.id }}</a></td>
<td>{{ parcel.tid }}</td>
<td>{{ parcel.srfn }}</td>
<td><a class="btn btn-success" ng-disabled="isDisabled" ng-click="resolve({{parcel.id}})">Resolve</a></td>
</tr>
这是我的控制器:
$scope.isDisabled = false;
$scope.resolve = function(id)
{
$scope.order_id = id;
$http({
method: 'GET',
url: '/outboundsummary/' + $scope.order_id,
})
.success(function(data){
console.log(data.dp);
$window.alert("Resolved!");
$scope.isDisabled = true;
return false;
});
}
$scope.isDisabled
在控制器中保留$scope
变量的单一状态。由于您想要禁用ng-repeat
中每个包裹的解析按钮的状态,您可以使用包裹对象来指示其状态,另外,您可以在resolve()
函数中传递包裹变量来获得状态和id。当向ng-click
回调函数传递角表达式时,不需要在{{}}
中插入包裹id。
演示恰好
JAVASCRIPT
$scope.resolve = function(parcel) {
$http({
method: 'GET',
url: '/outboundsummary/' + parcel.id,
})
.success(function(data){
parcel.disabled = true;
});
};