2016-05-17 15 views
1

在AngularJS中,如何在按鈕中設置ng-disabled屬性,以便在用戶輸入十進制輸入時不會啓用它?如何在輸入爲十進制時在AngularJS中設置ng-disabled

目前,當我輸入「0.1」但該按鈕已啓用時,該框以紅色突出顯示。

<input type="number" ng-model="person.age" id="age" name="age" placeholder="Age" 
    class="form-control" min="0" ng-change="compute()" ng-required="!person.age"> 

<button id="ok-btn" class="btn btn-primary" ng-click="okEdit(person)" 
    ng-disabled="(!person.age && person.age !== 0)">OK</button> 
+0

當person.age = undefind?和person.age!== 0? – Erez

回答

1

檢查person.age值等於解析值,像:

angular.module('app', []).controller('ctrl', function($scope) { 
 
    $scope.person = {}; 
 
    $scope.isDisabled = function(person) { 
 
    return parseInt(person.age) !== person.age 
 
    } 
 
})
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/> 
 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 

 
<div ng-app="app" ng-controller="ctrl"> 
 
    <input type="number" ng-model="person.age" name="age" placeholder="Age" class="form-control" min="0" ng-required="!person.age"> 
 
    <button class="btn btn-primary" ng-click="okEdit(person)" ng-disabled="isDisabled(person)">OK</button> 
 
</div>

相關問題