我有一張桌子。此表中的每個元素都是一個訂單,並且有一個按鈕可以更改此訂單的狀態。我希望這個按鈕的文本可以更改爲下一個狀態,所以也就是說。如果訂單處於「打包」狀態,則該按鈕應爲「正在交付」。使用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