2016-05-17 8 views
0

AngularJSの新機能です。選択したインデックスでデータをポップアップ表示する方法。モーダルポップアップで選択したインデックス(AngularJS)でデータを表示する方法

は、ここに私のコードです:

<div class="modal fade" id="myModal" role="dialog"> 
<div class="modal-dialog" > 
    <div class="modal-content"> 
    <div class="modal-header"> 
     <button type="button" class="close" data-dismiss="modal">&times;</button> 
     <h4 class="modal-title">Modal Header</h4> 
    </div> 
    <div class="modal-body" ng-repeat="product in filtered | limitTo : 1"> 
     <p>{{product.prod_name}} </p> 
    </div> 
    <div class="modal-footer"> 
     <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
    </div> 
    </div> 
</div> 
</div> 

マイボタン:

<td><button type="button" class="btn btn-info btn-lg" data-toggle="modal" data-target="#myModal">Detail</button> </td> 

答えて

0

私は詳細ボタンは、グリッド内のすべての製品の行に対して存在すると仮定しましょう。あなたのコントローラ内のその後

<button type="button" class="btn btn-info btn-lg" data-toggle="modal" data-target="#myModal" ng-click ="setValuesForPopup(prod)"> 

: その後、この考え方に従うことができ

$scope.setValuesForPopup = function (prod){ 
$scope.product = {}; 
$scope.product.prod_name= prod.prod_name; 
//or $scope.product = angular.copy(prod); 
} 
0

あなたは、角度のため、通常のブートストラップを使用しています。

角度のあるプロジェクトには、角度uiブートストラップを使用する方がよいです。

これは、UI-ブートストラップのリンクです:http://angular-ui.github.io/bootstrap/versioned-docs/0.12.0/

とUI-ブートストラップを使用して開いたモーダルの作業例を以下で見て:

htmlコード:

<!doctype html> 
<html ng-app="ui.bootstrap.demo"> 
    <head> 
    <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.16/angular.js"></script> 
    <script src="//angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.12.0.js"></script> 
    <script src="example.js"></script> 
    <link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet"> 
    </head> 
    <body> 

<div ng-controller="ModalDemoCtrl"> 
    <script type="text/ng-template" id="myModalContent.html"> 
     <div class="modal-header"> 
      <h3 class="modal-title">I'm a modal!</h3> 
     </div> 
     <div class="modal-body"> 
      <ul> 
       <li ng-repeat="item in items"> 
        <a ng-click="selected.item = item">{{ item }}</a> 
       </li> 
      </ul> 
      Selected: <b>{{ selected.item }}</b> 
     </div> 
     <div class="modal-footer"> 
      <button class="btn btn-primary" ng-click="ok()">OK</button> 
      <button class="btn btn-warning" ng-click="cancel()">Cancel</button> 
     </div> 
    </script> 

    <button class="btn btn-default" ng-click="open()">Open me!</button> 
    <button class="btn btn-default" ng-click="open('lg')">Large modal</button> 
    <button class="btn btn-default" ng-click="open('sm')">Small modal</button> 
    <div ng-show="selected">Selection from a modal: {{ selected }}</div> 
</div> 
    </body> 
</html> 

example.jsコード:

angular.module('ui.bootstrap.demo', ['ui.bootstrap']); 
angular.module('ui.bootstrap.demo').controller('ModalDemoCtrl', function ($scope, $modal, $log) { 

    $scope.items = ['item1', 'item2', 'item3']; 

    $scope.open = function (size) { 

    var modalInstance = $modal.open({ 
     templateUrl: 'myModalContent.html', 
     controller: 'ModalInstanceCtrl', 
     size: size, 
     resolve: { 
     items: function() { 
      return $scope.items; 
     } 
     } 
    }); 

    modalInstance.result.then(function (selectedItem) { 
     $scope.selected = selectedItem; 
    }, function() { 
     $log.info('Modal dismissed at: ' + new Date()); 
    }); 
    }; 
}); 

// Please note that $modalInstance represents a modal window (instance) dependency. 
// It is not the same as the $modal service used above. 

angular.module('ui.bootstrap.demo').controller('ModalInstanceCtrl', function ($scope, $modalInstance, items) { 

    $scope.items = items; 
    $scope.selected = { 
    item: $scope.items[0] 
    }; 

    $scope.ok = function() { 
    $modalInstance.close($scope.selected.item); 
    }; 

    $scope.cancel = function() { 
    $modalInstance.dismiss('cancel'); 
    }; 
}); 
関連する問題