2017-06-22 95 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]; 
};