Anugularjs ng-disabled对按钮元素没有按预期工作

时间:2017-07-06 08:47:07

标签: javascript angularjs button save click

我创建了一个新按钮,应该在页面加载时启用,并且在页面上的数据被保存时会被禁用(有一个保存按钮)。因此,只要启用了保存按钮,就应该禁用这个新按钮。

角度代码:

<input id="save" class="btn " type="button"
                        value="SAVE BUTTON" ng-click="saveData()" ng-disabled="isSaveButtonDisabled"  /> 
<input id="create" class="btn " type="button"                   
                    value="NEW BUTTON" ng-click="createNewButton()" ng-disabled="isCreateButtonDisabled" /> 

在控制器中,它附加到范围:

$scope.isSaveButtonDisabled= isSaveButtonDisabled;
$scope.isCreateButtonDisabled= isCreateButtonDisabled;

并且有两个函数定义了这个属性的值:

function isSaveButtonDisabled(){
        $scope.isSaveButtonDisabled= true;  
}
function isCreateButtonDisabled(){
        $scope.isCreateButtonDisabled= false;   
}

但是创建按钮仍然被禁用,无论如何。

我缺少什么?

2 个答案:

答案 0 :(得分:0)

您可以在ng-click

中调用两个函数

试试这种方式。

$scope.isSaveButtonDisabled= function(){
        $scope.isSaveButtonDisabled= true;
       $scope.isCreateButtonDisabled= false;     
}

$scope.isCreateButtonDisabled= function(){
        $scope.isCreateButtonDisabled= false; 
        $scope.isSaveButtonDisabled= true;  
}

请在HTML中更改您的代码,例如

<input id="save" class="btn " type="button"
                        value="SAVE BUTTON" ng-click="isSaveButtonDisabled();saveData();" ng-disabled="isSaveButtonDisabled"  /> 
<input id="create" class="btn " type="button"                   
                    value="NEW BUTTON" ng-click="isCreateButtonDisabled();createNewButton();" ng-disabled="isCreateButtonDisabled" /> 

答案 1 :(得分:0)

对于这两个按钮,您定义的函数与'true / false'bool属性的名称相同?如果是这样,那么你需要将两个包装器函数更改为不同的东西(可能是disableSaveButton(),disableCreateButton())并在现有的saveData()/ createNewButton()中调用这两个函数