17

プロジェクトにブートストラップ ダイアログを実装しました。そのダイアログにはいくつかの削除機能があり、削除確認メッセージによって別のブートストラップ ダイアログが開きます。ただし、2 番目の確認ダイアログが開いている場合、最初のダイアログは無効にならず、すべてのイベントが機能します。

別のダイアログが開いたときに元のダイアログを無効にする解決策はありますか?

これが私のコードです:

function OpenDialogForSelectionAdmItem(title, content, callback) {
    var dlg = new BootstrapDialog({
        title: title,
        content: content,
        buttons: [{
            label: 'Save',
            cssClass: 'btn-primary',
            id: 'btnSave',
            onclick: function (dialog) {

            }
        },
        {
            label: 'Close',
            cssClass: 'btn',
            id: 'btnClose',
            onclick: function (dialog) {
                if (callback != "") {
                    callback(true);
                }
                dialog.close();
            }
        }]
    });

    dlg.open();`
}

スクリーンショット:

スクリーンショット

削除確認のダイアログが開いたとき、最初のダイアログを無効にしたい。

4

4 に答える 4

1

最初にプライマリモーダルにクラスを追加します:<div class="modal-content kk"> 私は単に使用します:

$('#myModal1').on('shown.bs.modal', function () {
  $('.kk').addClass('magla');
  $('#myModal').modal('hide');
 });
$('#myModal1').on('hidden.bs.modal', function () {
  $('.kk').removeClass('magla');
  $('#myModal').modal('show');


});

.magla css は次のとおりです。

.magla {
     -webkit-filter: blur(5px);
  -moz-filter: blur(5px);
  -o-filter: blur(5px);
  -ms-filter: blur(5px);
  filter: blur(5px);

}

私には良さそうです。

于 2015-05-19T10:32:06.170 に答える
0

私の謙虚な解決策: 新しいモーダルごとに新しい ID を生成します。次に、1 つの変数を使用してすべてを管理します。ところで、それは私の目的のために働いています。

var _MODAL_LAST;
$( document ).on( 'show.bs.modal' , '.modal' , function(){
    _MODAL_LAST = $(this);
});
$( document ).on( 'hide.bs.modal' , '.modal' , function(){
    if( _MODAL_LAST.attr('id') !== $(this).attr('id') ){
        return false;
    }else{
        _MODAL_LAST = $(this).prevAll('.modal:first');
    }
});
于 2016-06-02T19:48:42.367 に答える
0

onclick メソッドを使用して実際のモーダルを非表示にするだけです

<button data-toggle="modal" data-target="#modal-to-show-id" onclick="$('#actual-modal-id').modal('hide');">
    Text Button
</button>
于 2016-03-18T18:31:43.467 に答える