2015-09-27 61 views
1

我想從模態窗口的radioboxes返回一些rezult。我爲此使用了Angular bootstrap。因此,在關閉模式窗口後,我的代碼不會返回radiobox值。

模板代碼:

<div class="modal-header"> 
    <h3 class="modal-title">Вы уверены, что хотите удалить категорию?</h3> 
</div> 
<div class="modal-body"> 
    Выбирете способ удаления 
    <div class="form-group"> 
     <label> 
      <input type="radio" ng-model="deleteType" value="this"> 
      Удалить категорию включая её подкатегории 
     </label><br /> 
     <label> 
      <input type="radio" ng-model="deleteType" value="select"> 
      Удалить категорию и выбрать новую для подкатегорий 
     </label><br /> 
    </div> 
</div> 
<div class="modal-footer"> 
    <button class="btn btn-danger" ng-click="ok()">Delete</button> 
    <button class="btn btn-default" ng-click="cancel()">Cancel</button> 
</div> 

我的控制器:

$scope.delCat = function (index,el,current) { 

    var modalInstance = $modal.open({ 
     templateUrl: 'view/category/dialog.html', 
     controller: 'modalDialogController', 
     size: 'sm', 
     resolve: { 
      deleteType: function() { 
       return $scope.deleteType; 
      } 
     } 
    }); 
    var deleteOne = function(){ 
     current.splice(index,1); 
    } 
    var deleteMore = function(){ 
     alert('asdfasd'); 
    } 
    modalInstance.result.then(function (deleteType) { 
     switch (deleteType) { 
      case 'this': 
       deleteOne(); 
       break; 
      case 'select': 
       break; 
     } 
    }); 
}; 
mainApp.controller('modalDialogController', function ($scope, $modalInstance, deleteType) { 
    $scope.deleteType = 'this'; 
    $scope.ok = function() { 

      $modalInstance.close($scope.deleteType); 

    }; 

    $scope.cancel = function() { 

     $modalInstance.dismiss('cancel'); 

    }; 
}); 

功能$ scope.ok()閉幕後,沒有按$ scope.deleteType的T迴流的價值。

+0

你應該看看這個http://stackoverflow.com/q/21691120/2435473 –

+0

@ PankajParkar非常感謝! –

回答

0

看一看這個plunkr。我用你的代碼複製了模態。

的單選按鈕的值,存儲在deleteType,正確地傳遞到result承諾的成功回調