2016-05-18 14 views
1

ここにはcodepenがあります。私はテキストボックスと2つのボタンをページに持っています。 clientIdをデータベースから取得してsessionStorage.clientIdに入れ、$ scope.ssclientIDに割り当てます。ボタンをクリックした後に変更してください。 angularjs

「TurnOff」ボタンが表示されるテキストボックスにテキストを入力するとすぐに問題が発生します。私はそれをクリックするまで "TurnOn"を表示したい。

HTML:

<div class="row" > 
    <div class="col-xs-12 form-group"> 
     <label class="control-label col-xs-2">Client ID</label> 
      <div class="col-xs-7"> 
      <input type="text" name="clientID" class="form-control input-md" ng-model="ssclientID" /> 
      </div> 
     <button ng-if="ssclientID != 'null' && ssclientID != '0' && ssclientID != ''" type="button" class="btn btn-danger col-xs-3" ng-click="saveEverifyOption(0)"> 
     <i class="fa fa-spinner fa-pulse"></i> Turn Off E-Verify           
       </button> 
      <button ng-if="ssclientID == '0' || ssclientID == 'null' || ssclientID == ''" type="button" class="btn btn-success col-xs-3" ng-click="saveEverifyOption(clientID)"> 
     <i class="fa fa-spinner fa-pulse"></i> Turn On E-Verify 
     </button>           
    </div> 

JS:

//$scope.ssclientID = sessionStorage.clientId; 
    $scope.Model = { 
       compId: 0,    
       clientID: ''   
      } 

答えて

3

クリックステータスを格納するスコープに別の変数を追加するだけです。あなたの$scope.saveEverifyOption機能で

$scope.clicked = false; 

あなたのボタンのng-ifの変更、最後に

if (clientID == 0) $scope.clicked = false; 
else $scope.clicked = true; 

を追加します。

<button ng-if="ssclientID != 'null' && ssclientID != '0' && ssclientID != '' && clicked" type="button" class="btn btn-danger col-xs-3" ng-click="saveEverifyOption(0)"> 
    <i class="fa fa-spinner fa-pulse"></i> Turn Off E-Verify           
</button> 
<button ng-if="ssclientID == '0' || ssclientID == 'null' || ssclientID == '' || !clicked" type="button" class="btn btn-success col-xs-3" ng-click="saveEverifyOption(clientID)"> 
    <i class="fa fa-spinner fa-pulse"></i> Turn On E-Verify 
</button>