2014-01-24 60 views
0

如果有人有這個問題,請回答我。Ang ng禁用

像這樣工作正常(元素將被禁用時,其真):

  <input type="text" class="no-phone-input" name="phone" ng-model="currentOrder.Customer.Phone" ng-pattern="/^[0-9-]+$/" ng-disabled="{{currentOrder.Status == 7 || currentOrder.Status == 9}}"/> 

而這也工作:

<input type="text" id="orderNumberInput" class="no-num-input" name="OrderNumber" ng-model ="currentOrder.OrderNumber" ng-disabled="{{currentOrder.Status == 2 || currentOrder.Status == 3 || currentOrder.Status == 4 || currentOrder.Status == 6 || currentOrder.Status == 7 || currentOrder.Status == 8 || currentOrder.Status == 9}}" required/> 

但在相同的角鑑於這種不`噸的工作(同樣的範圍):

<input id="customer" name="customer" type="text" ng-model="currentOrder.Customer.Name" ng-disabled="{{currentOrder.Status == 7 || currentOrder.Status == 9}}" required/> 

元素禁用`噸...

+0

納克-disabled =「{currentOrder.Status == 7 || currentOrder.Status == 9}「。單個括號或沒有括號..?是不是表達式? –

+0

{},(),沒有括號 - 結果相同。不適用於客戶輸入。 –

回答

1

或者只是做控制器:

$scope.disabler = function(){ 
    if($scope.currentOrder.Status ==7 || $scope.currentOrder.Status ==9){ 
     return true; 
    } 
} 

,並在您的模板:

<input id="customer" name="customer" type="text" ng-model="currentOrder.Customer.Name" ng-disabled="disabler()" required/> 
+0

thx。Works。但我仍然感到困惑..不知道爲什麼有時它不起作用 –

+0

對我來說你的解決方案也很好看我還沒有嘗試 –

+0

我不知道發生了什麼,我的解決方案運行良好,但在一個輸入上它根本沒有工作。一些魔法。 –

0

這部作品在我的體型..

<input id="customer" name="customer" type="text" ng-model="currentOrder.Customer.Name" ng-disabled="(currentOrder.Status == 7 || currentOrder.Status == 9)" required/> 

變化{{}}()

+0

with()doesn't工作也太 –