AngularJS ng-禁用传递多个表达式(使用 OR)
AngularJS ng-disabled passing more than one expression (using OR)
我需要在选择 "Credit Card" 或 "Debit Card"
选项时阻止输入
它只适用于一个表达式,但是当我使用 OR 这样做时它不起作用
app.controller('simuladorPedidoCtrl', function($scope) {
$rootScope.listaPagto = [{ name: "A vista", id: 1 }, { name: "Boleto", id: 2 }, { name: "Cheque", id: 3 }, { name: "Cartão de Débito", id: 4 }, { name: "Cartão de Crédito", id: 5 }, { name: "Indefinido", id: 6 }];
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-controller="simuladorPedidoCtrl">
<label for="FormaPagamento" class="control-label">Forma de Pagamento</label>
<select style="width: 100%" id="FormaPagamento" name="FormaPagamento" ng-model="model1.DadosPagamento.Forma" class="form-control">
<option value="">Selecione...</option>
<option ng-repeat="item in $root.listaPagto | orderBy:'name'" value="{{item.name}}">{{item.name}}</option>
</select>
<label for="CartaoNome" ng-disabled="" class="control-label">Name</label>
<input type="text" ng-disabled="model1.DadosPagamento.Forma != 'Cartão de Crédito' || model1.DadosPagamento.Forma != 'Cartão de Débito'" class="form-control" id="CartaoNome" name="CartaoNome" ng-model="model1.DadosPagamento.CartaoNome">
</div>
这是一道逻辑题。如果是借记卡,则不会是信用卡 - 如果是信用卡,则不会是借记卡。
因此,(notCredit || notDebit) 将始终 return 为真。
我认为应该按照以下逻辑重新排列:
ng-disabled="model1.DadosPagamento.Forma != 'Cartão de Crédito' && model1.DadosPagamento.Forma != 'Cartão de Débito'"
我需要在选择 "Credit Card" 或 "Debit Card"
选项时阻止输入它只适用于一个表达式,但是当我使用 OR 这样做时它不起作用
app.controller('simuladorPedidoCtrl', function($scope) {
$rootScope.listaPagto = [{ name: "A vista", id: 1 }, { name: "Boleto", id: 2 }, { name: "Cheque", id: 3 }, { name: "Cartão de Débito", id: 4 }, { name: "Cartão de Crédito", id: 5 }, { name: "Indefinido", id: 6 }];
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-controller="simuladorPedidoCtrl">
<label for="FormaPagamento" class="control-label">Forma de Pagamento</label>
<select style="width: 100%" id="FormaPagamento" name="FormaPagamento" ng-model="model1.DadosPagamento.Forma" class="form-control">
<option value="">Selecione...</option>
<option ng-repeat="item in $root.listaPagto | orderBy:'name'" value="{{item.name}}">{{item.name}}</option>
</select>
<label for="CartaoNome" ng-disabled="" class="control-label">Name</label>
<input type="text" ng-disabled="model1.DadosPagamento.Forma != 'Cartão de Crédito' || model1.DadosPagamento.Forma != 'Cartão de Débito'" class="form-control" id="CartaoNome" name="CartaoNome" ng-model="model1.DadosPagamento.CartaoNome">
</div>
这是一道逻辑题。如果是借记卡,则不会是信用卡 - 如果是信用卡,则不会是借记卡。
因此,(notCredit || notDebit) 将始终 return 为真。
我认为应该按照以下逻辑重新排列:
ng-disabled="model1.DadosPagamento.Forma != 'Cartão de Crédito' && model1.DadosPagamento.Forma != 'Cartão de Débito'"