2017-06-22 107 views
0

我對此很陌生,我想在按鈕被觸發時更改變量的值。 我有一個數組selectedValues,其中包含項目狀態即Ready/NotReady。更改javascript中的變量值

我想要做的是將狀態更改爲未就緒,如果狀態爲就緒,反之亦然。

我想要一個js函數來做到這一點。我想知道我是否可以這樣做?

$scope.changeStatus = function(selectedValue){ 
    if(selectedValue.status == "Not_Ready") 
    selectedValue.status = "Ready" 
} 
+0

是的,你可以這樣做。什麼是問題 –

+1

您沒有更改變量的值,而是將值分配給對象的屬性(數組是對象)。 – RobG

+0

@RobG,我該如何執行它? –

回答

0

你可以像下面這樣做還有:

$scope.changeStatus = function(){ 
    if($scope.selectedValue.status == "Not_Ready"){ 
     $scope.selectedValue.status = "Ready" 
    }else{ 
     $scope.selectedValue.status = "Not_Ready" 
    } 
} 
+0

你剛剛添加了其他方式阻止我的方式。沒有其他的。 –

+0

是的,您還需要在選定值之前將其作爲$ scope。 –

+0

你的意思是$ scope.selectedValue? –

1
$scope.changeStatus = function(selectedValue){ 
    selectedValue.status == "Not_Ready" ? selectedValue.status = "Ready" : selectedValue.status = "Not_Ready" 
} 

試試這個

1

如果你添加更多的狀態,你想循環,你可以做像這樣:

$scope.changeStatus = function(selectedValue) { 
    var statuses = ['State_A', 'State_B', 'State_C', 'State_D', 'State_E']; 

    selectedValue.status = statuses[(statuses.indexOf(selectedValue.status) + 1) % statuses.length]; 
};