2016-08-16 9 views
0

私はこの機能を持っています。

ここでは、ウィンドウの定義:

<!-- Modal --> 
<div class="modal fade" id="myModal" role="dialog"> 
    <div class="modal-dialog"> 
     <!-- Modal content--> 
     <button type="button" class="btn btn-default" data-dismiss="modal">Yes</button> 
     <button type="button" class="btn btn-default" data-dismiss="modal">No</button>  
    </div> 
</div> 

私はウィンドウをポップアップする必要があり、唯一のユーザーの後、この行はfoo()機能で実行し、「YES」か「NO」ポップアップウィンドウ上をクリックしてください(つまり、私が必要ポップアップを遅らせる):

var f = "ddd"; 
    var oldval = old; 
    var newVal = newVal; 

どのように実装すればよいですか?

+0

あなたがまだポップアップしていないウィンドウをクリックした場合のみ、どのようにウィンドウをポップアップできますか? – mplungjan

+0

ちょうど2番目の機能を作って、それをクリックしてyes/noを呼び出させてください。そのクリックを処理するコードは、ポップアップモーダルを示すコードと同じ関数内にあるべきではありません。 – Shilly

答えて

1

これにはさまざまなアプローチが必要ですが、以下にその例を示します。基本的には、モーダルのshownイベントとhiddenイベントを使用してそれを達成できます。

、あなたのshownイベントコールバックでは、そのボタンのOnClickイベントに結合し、(モーダルが消えたときに)hiddenイベントコールバックで評価される変数に値を代入し、ID btn_okであなたのモーダルのボタンがあるとし。

this.foo = function (old, newVal) { 
     var m = $('#myModal'); 
     var btn_ok_selected = false; 

     m.on('shown.bs.modal', function() { 
      var btn_ok = m.find('#btn_ok'); 

      btn_ok.click(function() { 
       btn_ok_selected = true; 
      }); 
     }); 

     m.on('hidden.bs.modal', function() { 
      if (btn_ok_selected === true) { 
       var f = "ddd"; 
       var oldval = old; 
       var newVal = newVal; 

       // more code here 

      } 
     }); 

     m.modal('show'); 

    } 
関連する問題

 関連する問題