2016-07-06 13 views
0

私の状況は、モーダルからメインコントローラーに通常のデータを渡すのと少し異なります。モーダルの入力フィールドにオートコンプリートボックスが含まれています。モーダルからメインコントローラーにデータを渡す - (Plunker添付)----モーダル内にオートコンプリート入力ボックスが含まれています

私は、次のplunkerは、[追加ユーザーズにユーザーがクリックすると同封

http://plnkr.co/edit/lpcg6pPSbspjkjmpaX1q?p=preview

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

添付した、モーダルが開きます。最初の入力フィールドに名前を入力し始めます。文字 'a'を入力すると、オートコンプリート機能にオプションが表示されます。 Angularを選択し、他の2つのドロップダウン入力値から 'Scope'と 'Watch'を選択します。

ここで、「OK」を押します。誰かがモーダルで上記の選択された値をコントローラに渡す方法を教えてもらえますか?

+0

見てください:http://plnkr.co/edit/xyOSVrxLnAtSpjZ8kdlm?p=viewこの回答から:http://stackoverflow.com/questions/26570653/how-to-pass-form-data-from- angle-ui-bootstrap-modal-to-view – developer033

+0

@ developer033-私の場合は少し異なる問題です。私はモーダルの中に入力ボックスをオートコンプリートしました。私はそれをモーダルからコントローラに渡す方法を見つけることはできません。名前入力ボックスを選択すると、オートコンプリートになります。 – Patrick

+0

@ developer033-オートコンプリート入力フィールドの値を取得する方法を教えてください。すなわち名前を選択する。私は入力のこのタイプのためのプランナーでそれを見つけることができませんでした – Patrick

答えて

1

私は個人的にはデータ操作が容易であることを好むAngularStrap modalsを使用することができます。

JS:

angular.module('app', ['ngAnimate', 'ngSanitize', 'mgcrea.ngStrap']) 

.config(function($modalProvider) { 
    angular.extend($modalProvider.defaults, { 
    html: true 
    }); 
}) 

.controller('mainCtrl', function($scope, $rootScope, $modal) { 
    $scope.selectedState = ''; 
    $scope.states = ['Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California', 'Colorado', 'Connecticut', 'Delaware', 'Florida', 'Georgia', 'Hawaii', 'Idaho', 'Illinois', 'Indiana', 'Iowa', 'Kansas', 'Kentucky', 'Louisiana', 'Maine', 'Maryland', 'Massachusetts', 'Michigan', 'Minnesota', 'Mississippi', 'Missouri', 'Montana', 'Nebraska', 'Nevada', 'New Hampshire', 'New Jersey', 'New Mexico', 'New York', 'North Dakota', 'North Carolina', 'Ohio', 'Oklahoma', 'Oregon', 'Pennsylvania', 'Rhode Island', 'South Carolina', 'South Dakota', 'Tennessee', 'Texas', 'Utah', 'Vermont', 'Virginia', 'Washington', 'West Virginia', 'Wisconsin', 'Wyoming']; 

    $scope.modal = { 
    title: "<strong>Example</strong>", 
    html: true, 
    show: true 
    }; 

    $scope.get_change = function(value) { 
     $scope.selectedState = value; 
    } 
}); 

HTML:

<!DOCTYPE html> 
<html ng-app="app"> 

<head> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js" type="text/javascript"></script> 
    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" /> 
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" type="text/javascript"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.7/angular.min.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.7/angular-animate.min.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.7/angular-sanitize.min.js" data-semver="1.5.7"></script> 
    <script src="https://mgcrea.github.io/angular-strap/dist/angular-strap.js"></script> 
    <script src="https://mgcrea.github.io/angular-strap/dist/angular-strap.tpl.js"></script> 
    <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-T8Gy5hrqNKT+hzMclPo118YTQO6cYprQmhrYwIiQ/3axmI1hQomh7Ud2hPOy8SP1" crossorigin="anonymous"> 
    <link rel="stylesheet" href="https://mgcrea.github.io/angular-strap/styles/libs.min.css"> 
    <link rel="stylesheet" href="https://mgcrea.github.io/angular-strap/styles/docs.min.css"> 
</head> 

<body ng-controller="mainCtrl"> 
    <div class="col-md-6"> 
    <button type="button" class="btn btn-md btn-primary" data-animation="am-flip-x" data-template-url="modal/docs/modal.demo.tpl.html" data-placement="center" bs-modal="modal">Open modal 
    </button> 
    <hr> 
    <span ng-bind="selectedState"></span> 
    </div> 
</body> 

</html> 

<!-- Modal content 

<div class="modal ng-scope center am-fade-and-scale" tabindex="-1" role="dialog" aria-hidden="true" style="z-index: 1050; display: block;"> 
    <div class="modal-dialog"> 
    <div class="modal-content"> 
     <div class="modal-header" ng-show="title"> 
     <button type="button" class="close" aria-label="Close" ng-click="$hide()"><span aria-hidden="true">×</span></button> 
     <h4 class="modal-title" ng-bind-html="title"></h4></div> 
     <div class="modal-body"> 
     <div class="form-group"> 
      <label><i class="fa fa-globe"></i> State</label> 
      <input type="text" class="form-control" ng-model="selectedState" bs-options="state for state in states" placeholder="Enter state" ng-change="get_change(selectedState)" bs-typeahead> 
     </div> 
     </div> 
     <div class="modal-footer"> 
     <button type="button" class="btn btn-default" ng-click="$hide()">Close</button> 
     </div> 
    </div> 
    </div> 
</div> 

--> 

あなたはplnkrに完全なコードを確認することができます

は、ここでは、コードです。

の詳細については、AngularStrapチェックhereです。

+0

@developer033- http://plnkr.co/edit/Vc7v55be6jnUTumVJZXR?p=preview このplunkerを確認できますか。私は1つの小さな疑いがあります。私はモーダルの中にもう一つ入力ボックスを追加しました。この値をモーダルからコントローラーにもどす方法を教えてください。 – Patrick

+0

私はあなたのplnkrをここにフォークしました:http://plnkr.co/edit/2RiVwNmdauwrbCD7dkPe?p=preview。ちなみに、どうしてあなたは** **私の答えを正しいものとしてチェックを外しましたか? – developer033

+0

ありがとうございます。私はプランナーを見ます。私はそれを受け入れられた答えとしてマークしたと思った。もう一度チェックします。 Bte、これはモーダルでオートコンプリート機能をマージする最も簡単な方法です。これまでのすべての入力に感謝します。 – Patrick

関連する問題