2017-06-21 103 views
0

我正在使用引導彈出窗口。我在jsp中使用下面的代碼。如何關閉已打開的彈出窗口

JSP: - JSP依賴性是

<script src="js/commons/ui-bootstrap-tpls-2.4.0.js"></script>

</style> 
    <script type="text/ng-template" id="myModalContent.html"> 
     <div class="modal-header"> 
      <h3 class="modal-title" id="modal-title">{{ctrl.modalHeader}}</h3> 
     </div> 
     <div class="modal-body" id="modal-body"> 
      {{ctrl.modalBody}} 

     <ul ng-repeat="item in ctrl.list"> 
     <li ng-repeat="(key,value) in item">{{value}}</li> 
     </ul> 
     </div> 
     <div class="modal-footer"> 
      <button class="btn btn-primary" type="button" ng-click="ctrl.ok()">OK</button> 
      <!--<button class="btn btn-warning" type="button" ng-click="ctrl.cancel()"><spring:message code="label.close"/></button>--> 
     </div> 
    </script> 

在Jscontroller.For打開和關閉功能加入下面的代碼。

jsController: -

$scope.open = function() { 
     var modalInstance = $uibModal.open({ 
      ariaLabelledBy: 'modal-title', 
      ariaDescribedBy: 'modal-body', 
      templateUrl: 'myModalContent.html', 
      controller: function($uibModalInstance) { 

       var self = this; 
       self.modalHeader = modalHeader; 
       self.modalBody = modalBody; 
       self.list = exceptions; 

       self.ok = function() { 
        $uibModalInstance.close(); 
       }; 

       self.cancel = function() { 
        $uibModalInstance.dismiss('cancel'); 
       }; 
      }, 
      controllerAs: 'ctrl' 
     }); 
    } 

我會調用該函數,如下面。

$scope.open(); 

最後我想知道Popup是否已經打開。如果已經打開,我想關閉現有的彈出窗口,我想打開新的彈出窗口。我已經打開$scope.open();的彈出窗口。我想查找如何關閉彈出窗口。

如何關閉現有打開的彈出窗口。

回答

0

您檢查您彈出的元素的類名稱。如果彈出窗口已經打開意味着新的類將被添加到popup(元素)的元素中。因此,您可以通過檢查課程是否添加到元素來進行檢查。

0

($( 「元件」)。數據( 'bs.modal')|| {})。被示

當模態還沒有打開,。數據( 'bs.modal')返回未定義,因此|| {} - 這會使顯示的(falsy)值不確定。如果你到一個嚴密性可以做($( 「元素」)的數據( 'bs.modal')|| {被示:假})。被示

0
app.service('ModalService', function($uibModal) { 
var isOpen = false, 

this.isOpenPopup = function() { 
    return isOpen; 
}; 

this.open = function() { 

    var modalInstance = $uibModal.open({ 
     ariaLabelledBy: 'modal-title', 
     ariaDescribedBy: 'modal-body', 
     templateUrl: 'myModalContent.html', 
     controller: function($uibModalInstance) { 

      var self = this; 
      self.modalHeader = modalHeader; 
      self.modalBody = modalBody; 
      self.list = exceptions; 

      self.ok = function() { 
       $uibModalInstance.close(); 
       // set isOpen false for close popup 
       isOpen=false; 
      }; 

      self.cancel = function() { 
       $uibModalInstance.dismiss('cancel'); 
       // set isOpen false for close popup 
       isOpen=false; 

      }; 
     }, 
     controllerAs: 'ctrl' 
    }); 

    //set isOpen flag here 
    isOpen=true; 
} 

};

+0

可以請你解釋一下 – Murali

+0

添加一個服務裏面設置ISOPEN標誌同時呼籲service.open()函數。關閉彈出窗口也是如此。 –

+0

我想找到如何關閉彈出窗口。我可以找到彈出窗口是否打開。我想知道關閉彈出窗口代碼 – Murali

0

我認爲這將有助於你在彈出窗口

$(".modal").modal("hide"); // close the active popup 

$('body').on('hidden.bs.modal', '.modal', function() { 
    // the function trigger when the popup is closed 
} 
+0

可以請你幫助litle更多 – Murali

+0

你能創建一個小提琴嗎? –

相關問題