首页 文章

Bootstrap模式之上的jQuery UI对话框

提问于
浏览
1

我有一个Bootstrap模式,显示填充一些数据,如果数据不正确,实际上我显示一个警报,它显示在顶部 .

现在我有了新的要求,创建自定义警报对话框 . 在表单的其他部分,没有问题,但是当我有Bootstrap模式时,如果我以正常方式显示模态,它将出现在Bootstrap模式的底部(example in this fiddle) .

我看过其他问题,如thisthis,我试过 z-indexexample in this fiddle),对话框显示在顶部,但我无法点击任何地方

$(".ui-dialog").css({ 'z-index' : 1000 });    
$("#myModal").css({ 'z-index' : 0 });

此外,我试图禁用模态并启用对话框但没有成功 .

this answer是否正确,如果没有更多插件,我无法实现这一目标?

2 回答

  • 2

    variables.less文件中定义的bootstrap模态窗口的默认 z-index 位于 1050 .

    @ zindex-modal:1050;

    因此,如果您想将jquery-ui对话框放在上面,那么至少必须添加一个大于模态窗口的 z-index 值 . 或者将模态窗口 z-index 更改为更低的值,但我不会这样做 .

    $("#btnalert").click(
      function action () {
        alert("this is an alert on top");
      }
    );
    
    $("#btndialog").click(
      function action () {
        $("#dialog").html("dialog on the back");
        $("#dialog").dialog();
        $(".ui-dialog").css({
          zIndex: '1060',
          top: '100px'
        });
        prepareDialog();
        
      }
    );
    
    function prepareDialog() {
      $("html, body").animate({ scrollTop: 0 }, "slow");
      $(".ui-dialog-titlebar").css({ background: '#F7985D' });
      $(".ui-dialog .ui-dialog-content").css({ 'text-align': 'center' });
    }
    
    .ui-dialog {
        /*z-index: 1060 !important;*/
    }
    
    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet"/>
    <link href="https://code.jquery.com/ui/1.11.4/themes/ui-lightness/jquery-ui.css" rel="stylesheet"/>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
    <script src="https://code.jquery.com/ui/1.11.4/jquery-ui.min.js"></script>
    
    
    
    <!-- Latest compiled JavaScript -->
    <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
    
    
    <!-- Trigger the modal with a button -->
    <button type="button" class="btn btn-info btn-lg" data-toggle="modal" data-target="#myModal">Open Modal</button>
    
    <!-- Modal -->
    <div id="myModal" class="modal fade" role="dialog">
      <div class="modal-dialog">
    
        <!-- Modal content-->
        <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">
            <p>Some text in the modal.</p>
          </div>
          <div class="modal-footer">
            <button  class="btn btn-default" id="btnalert" >ALERT</button>
            <button  class="btn btn-default" id="btndialog" >DIALOG</button>
            <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
          </div>
        </div>
    
      </div>
    </div>
    
    <div id="dialog" hidden></div>
    
  • -2

    在你的小提琴上尝试这个:

    <button  class="btn btn-default" data-dismiss="modal" id="btndialog" >DIALOG</button>
    

相关问题