我有一张桌子。此表中的每个元素都是一个订单,并且有一个按钮可以更改此订单的状态。我希望这个按钮的文本可以更改为下一个状态,所以也就是说。如果订单处于“打包”状态,则该按钮应为“正在交付”。使用Angular更改按钮“状态”?
该按钮正在工作,只是在PHP中的数组中更改为next,并将其解析为mySQL。但我不知道如何显示按钮上的文本(即时通讯非常新的角度):
我可以在变量形式的角度本地数组,并以某种方式过滤相应我的JSON对象在if语句? (状态是纯粹的字符串)我怎样才能让它在按钮上正确显示?
表代码:
<tr ng-repeat="x in orders | filter: {area: areaFilter} | filter: {status: statusFilter}">
<td>{{ x.orderID }}</td>
<td>{{ x.customerID }}</td>
<td>{{ x.address }}</td>
<td>{{ x.area }}</td>
<td>{{ x.date }}</td>
<td>{{ x.orderType }}</td>
<td>{{ x.trashcanType }}</td>
<td>{{ x.status }}</td>
<td>{{ x.renonord }}</td>
<td class="text-right">
<button href="#" ng-controller="updateStatus" data-id="{{ x.orderID }}" ng-click="doClick()" class="btn btn-xs btn-default">Set to next status
</button>
</td>
相关的控制器使用:
app.controller('getOrders3', function($scope, $http) {
$scope.sortType = 'orderID';
$scope.sortReverse = true;
$scope.search = '';
$http.get("...filterOrders.php")
.then(function (response) {$scope.orders = response.data.orders;});
$scope.$on('updatedModel', function(event, []) {
//alert("this long");
$http.get("...filterOrders.php")
.then(function (response) {$scope.orders = response.data.orders;})
event.stopPropagation();
});
});
app.controller('updateStatus', function($attrs, $scope, $http) {
//$scope.updateStatus {};
$scope.doClick = function() {
var id = ($attrs).id;
$http.get("...changeStatusTest.php",{params:{"orderID" : id}});
//alert(id);
$scope.$emit('updatedModel', []);
}});
你能发布你的HTML和控制器代码吗? –
我添加了相关代码片段:) – NicklasN