2016-10-04 18 views
1

私は何が必要ですか?モーダルポップアップの修正にJqueryヘルプが必要

  1. オンclick me私はsaveボタンでポップアップが必要です。 saveボタンを
  2. 主なポップアップが

を閉じた後、私は取得していますどのような別の確認ポップアップをされる必要がありますクリックしてください?

私は1ステップを取得することができますし、クリックすると確認のポップアップが表示されます。 問題は、私がxアイコンをクリックしたときに、確認のポップアップが表示されます。私は保存ボタンの上にのみ確認のポップアップが必要です。クリックしていないときxアイコン。

有線状況?

初めて確認のポップアップが表示されないxをクリックします。

$(document).on('click','.closeMyModal',function(){ 
 
    $("#myModal").on('hidden.bs.modal', function(){ 
 
    //alert('Hidden'); 
 
    $('#employeekipsave').modal('show'); 
 
    //alert('visible'); 
 
    }); 
 
})
<link href="http://getbootstrap.com/dist/css/bootstrap.min.css" rel="stylesheet"/> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="http://getbootstrap.com/dist/js/bootstrap.min.js"></script> 
 

 
<a href="javascript:void(0);" data-toggle="modal" data-target="#myModal">Click Me</a> 
 
<div class="modal fade" id="myModal"> 
 
    <div class="modal-dialog modal-large" role="document"> 
 
    <div class="modal-content"> 
 
     <div class="modal-header"> 
 
     <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> 
 
     <h4 class="modal-title" id="myModalLabel">Employee KPI's</h4> 
 
     </div> 
 
     <div class="modal-body"> 
 
     \t Dummy Text Comes Here 
 
     </div> 
 
     <div class="modal-footer"> 
 
     <!--<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>--> 
 
     <button type="button" class="btn btn-primary closeMyModal" data-dismiss="modal" >Save</button> 
 
     </div> 
 
    </div> 
 
    </div> 
 
</div> 
 
<div class="modal fade" id="employeekipsave"> 
 
    <div class="modal-dialog" role="document"> 
 
    <div class="modal-content"> 
 
     <div class="modal-body clearfix"> 
 
     <div class="col-lg-12 text-center success-popup"> 
 
     <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button><h5 class="text-success">Are you sure you want save Employee KPI's?</h5><button type="button" class="btn defaultBtn btn-sm btn-defult" data-dismiss="modal" aria-label="Close">No</button><button type="button" class="btn btn-primary btn-sm defaultBtn" data-dismiss="modal" id="employeeKpiSuccess" style="margin-left:5px;" >Yes</button> 
 
     </div> 
 
     </div> 
 
    </div> 
 
    </div> 
 
</div>

答えて

2

$("#myModal").on('hidden.bs.modal', function(){ });モーダルが隠されますたびに実行するイベントリスナを登録し、あなたはすでに保存]ボタンをクリックした場合には、このイベントリスナーを登録するので、あなただけの、奇妙な行動を取得しているがわかります。それを取り除くと、100%動作します。

bodyタグにクラスmodal-openを追加するために2番目のモーダルが表示されようとしているときのイベントリスナーを追加しました。通常は自動的に追加されますが、移行中にモーダルを表示すると最初のモーダルからのフェーディングがまだ起こっているためです。 (モーダルオープンクラスは、2番目のモーダルを表示するときに追加されますが、最初のモーダルのフェードトランジションが完了し、bodyタグからフェード遷移が完了します)

編集:これも機能しません。フェード遷移はバグのようです フェードクラスを最初のモーダルから削除すると、スクロールバーの問題が解決します。あなたの迅速な対応のためのトーマス

$(document).on('click','.closeMyModal',function(){ 
 
    //alert('Hidden'); 
 
    $('#employeekipsave').modal('show'); 
 

 
    //alert('visible'); 
 
}); 
 

 
/* Does not solve issue with scrollbars, see Edit note above 
 
$(document).ready(function() { 
 
    $("#employeekipsave").on('show.bs.modal', function() { 
 
     $('body').addClass("modal-open"); 
 
    }); 
 
}); 
 
*/
<link href="http://getbootstrap.com/dist/css/bootstrap.min.css" rel="stylesheet"/> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="http://getbootstrap.com/dist/js/bootstrap.min.js"></script> 
 

 
<a href="javascript:void(0);" data-toggle="modal" data-target="#myModal">Click Me</a> 
 
<div class="modal" id="myModal"> 
 
    <div class="modal-dialog modal-large" role="document"> 
 
    <div class="modal-content"> 
 
     <div class="modal-header"> 
 
     <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> 
 
     <h4 class="modal-title" id="myModalLabel">Employee KPI's</h4> 
 
     </div> 
 
     <div class="modal-body"> 
 
     \t Dummy Text Comes Here 
 
     </div> 
 
     <div class="modal-footer"> 
 
     <!--<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>--> 
 
     <button type="button" class="btn btn-primary closeMyModal" data-dismiss="modal" >Save</button> 
 
     </div> 
 
    </div> 
 
    </div> 
 
</div> 
 
<div class="modal fade" id="employeekipsave"> 
 
    <div class="modal-dialog" role="document"> 
 
    <div class="modal-content"> 
 
     <div class="modal-body clearfix"> 
 
     <div class="col-lg-12 text-center success-popup"> 
 
     <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button><h5 class="text-success">Are you sure you want save Employee KPI's?</h5><button type="button" class="btn defaultBtn btn-sm btn-defult" data-dismiss="modal" aria-label="Close">No</button><button type="button" class="btn btn-primary btn-sm defaultBtn" data-dismiss="modal" id="employeeKpiSuccess" style="margin-left:5px;" >Yes</button> 
 
     </div> 
 
     </div> 
 
    </div> 
 
    </div> 
 
</div>

+0

これは正常に動作するはずです – Raki

+0

ありがとうHeinrich。ここにテストURLがあります。私が同じプロセスを経るとき、それはbroswerにパディングを追加しています。 URLを参照してください。 http://saviance-fraud.com/modal-popup.html。 –

+0

ブラウザがスクロールしていないいくつかのシナリオでうまくいきます。ブラウザが既にスクロールしている場合、それは動作していません。それは私が隠されたbsモーダルイベントを試みた理由です。 –

0

あなたは、保存ボタンに属性data-toggle="modal" data-target="#employeekipsave"を追加することにより、保存ボタンをクリックした後、第2のモーダルを開くようにトリガすることができます。この場合、追加のJavaScriptコードは必要ありません。 Xをクリックするとhidden.bs.modalイベントが発生したため、モーダルは、Xをクリックして現れたソリューションソリューションで

<link href="http://getbootstrap.com/dist/css/bootstrap.min.css" rel="stylesheet"/> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="http://getbootstrap.com/dist/js/bootstrap.min.js"></script> 
 

 
<a href="javascript:void(0);" data-toggle="modal" data-target="#myModal">Click Me</a> 
 
<div class="modal fade" id="myModal"> 
 
    <div class="modal-dialog modal-large" role="document"> 
 
     <div class="modal-content"> 
 
      <div class="modal-header"> 
 
       <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> 
 
       <h4 class="modal-title" id="myModalLabel">Employee KPI's</h4> 
 
      </div> 
 
      <div class="modal-body"> 
 
     \t   Dummy Text Comes Here 
 
      </div> 
 
      <div class="modal-footer"> 
 
       <!--<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>--> 
 
       <button type="button" class="btn btn-primary closeMyModal" data-dismiss="modal" data-toggle="modal" data-target="#employeekipsave">Save</button> 
 
      </div> 
 
     </div> 
 
    </div> 
 
</div> 
 
<div class="modal fade" id="employeekipsave"> 
 
    <div class="modal-dialog" role="document"> 
 
     <div class="modal-content"> 
 
      <div class="modal-body clearfix"> 
 
       <div class="col-lg-12 text-center success-popup"> 
 
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button><h5 class="text-success">Are you sure you want save Employee KPI's?</h5><button type="button" class="btn defaultBtn btn-sm btn-defult" data-dismiss="modal" aria-label="Close">No</button><button type="button" class="btn btn-primary btn-sm defaultBtn" data-dismiss="modal" id="employeeKpiSuccess" style="margin-left:5px;" >Yes</button> 
 
       </div> 
 
      </div> 
 
     </div> 
 
    </div> 
 
</div>

+0

感謝。しかし、私はボタンクリックで 'hidden.bs.modal'を呼んでいます。 xマークではありません。 –

+0

はい、最初のモーダル(#myModal)が隠されるたびに2番目のモーダル(#employeekipsave)が表示されますので、$( '#employeekipsave')を呼び出す隠しイベントにハンドラを登録してください。 ボタンクリックで何が起こるかは、2番目のモーダルを開く関数への呼び出しではなく、最初のものが非表示になるたびに2番目のモーダルを表示するイベント登録です。 –

+0

Thomas、ブラウザにスクロールがない場合、あなたの考えはうまくいきます。下記のURLにアクセスしてください。 Uは私が言っているアイデアを得るでしょう。 http://saviance-fraud.com/modal-popup.html –

0

単純に現在のモーダルを閉じてから、2番目のモーダルを開くことができます。

例。

$(document).on('click','.closeMyModal',function(){ 
    $("#myModal").modal('hide'); 
    $('#employeekipsave').modal('show'); 
}) 
+0

私はこのDimalを試しました。パディングの問題が発生しています。保存ボタンをクリックするたびに、ブラウザに17pxのパディングを追加します。 –

関連する問題