如何在角度js材质设计中动态启用或禁用输入字段

时间:2016-10-26 01:55:26

标签: angularjs angular-material angularjs-ng-disabled

我遇到了ng-disable的问题。因为我使用棱角分明的材料我觉得这不起作用。我希望根据条件动态禁用或启用输入框。

注意: - 我有多个输入字段,我想要禁用或一次性启用所有输入。

我正在尝试这样

<md-input-container class="md-block" flex-gt-sm>
    <label for="Autocomplete">From</label>
    <input required type="text" class = "hideShadow" ng-model="FromLocation"
           uib-typeahead="state for state in states | filter:$viewValue | limitTo:8" 
          class="form-control" ng-disabled="isDisabled">
    <div ng-messages="searchFlight.FromLocation.$error">
    <div ng-message="required">Please enter from location</div>
     </div>
</md-input-container>

我正试图像这样动态访问ng-disabled="isDisabled"

$scope.isDisabled = true;

但这不起作用。我可以知道我哪里出错吗?

2 个答案:

答案 0 :(得分:5)

我认为问题在于你绑定属性isDisabled的方式。

试试这个:

$scope.model = {
    isDisabled: true
};

然后:

ng-disabled="model.isDisabled"

当我们尝试在指令上绑定基本属性时会发生此问题。我们需要绑定对象的属性才能正常工作。

答案 1 :(得分:1)

您可以使用ng-disabled

启用或禁用该字段

例如,如果您想最初禁用按钮,并在执行了要启用按钮的操作后

<button class="btn btn-default" type="submit" ng-disabled="isDisabled" ng-click="ok()">OK</button>

$scope.isDisabled = true;

$scope.save = function(){
//after completing the operation set the values of variable to false
$scope.isDisabled = false;
}