在项目中可能会面对这样的一个场景:

界面上有多个按钮,我们希望点击这些按钮弹出同一个模态窗口,但希望模态窗口的内容是动态生成的,即,点击每个按钮弹出的模态窗口内容不同。

通常情况下,一个按钮对应一个模态窗口。

  1. <head>
  2.  
  3.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4.  
  5.     <title></title>
  6.  
  7.     <link href="css/bootstrap.min.css" rel="stylesheet" />
  8.  
  9.     <script src="Scripts/jquery-2.1.1.min.js"></script>
  10.  
  11.     <script src="js/bootstrap.min.js"></script>
  12.  
  13.     <style type="text/css">
  14.  
  15.         body.modal-open,
  16.  
  17.         .modal-open .navbar-fixed-top,
  18.  
  19.         .modal-open .navbar-fixed-bottom {
  20.  
  21.             margin-right: 0;
  22.  
  23.         }
  24.  
  25.         .modal {
  26.  
  27.             top: 100px;
  28.  
  29.             bottom: auto;
  30.  
  31.             padding: 0;
  32.  
  33.             background-color: #ffffff;
  34.  
  35.             border: 1px solid #999999;
  36.  
  37.             border: 1px solid rgba(0, 0, 0, 0.2);
  38.  
  39.             border-radius: 6px;
  40.  
  41.             -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  42.  
  43.             box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  44.  
  45.             background-clip: padding-box;
  46.  
  47.         }
  48.  
  49.         .modal.container {
  50.  
  51.             max-width: none;
  52.  
  53.         }
  54.  
  55.     </style>
  56.  
  57. </head>
  58.  
  59.     <body>
  60.  
  61.         <div class="content" style="margin-left: 100px;margin-top: 100px;">
  62.  
  63.             <button class="btn btn-primary btn-lg" data-toggle="modal" href="#full-width">打开模态窗口</button>
  64.  
  65.         </div>
  66.  
  67.         <div id="full-width" class="modal container fade" tabindex="-1" style="display: none;">
  68.  
  69.             <div class="modal-header">
  70.  
  71.                 <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
  72.  
  73.                 <h4 class="modal-title">标题</h4>
  74.  
  75.             </div>
  76.  
  77.             <div class="modal-body">
  78.  
  79.                 <p>
  80.  
  81.                     主体内容主体内容主体内容主体内容主体内容主体内容主体内容主体内容主体内容主体内容主体内容主体内容主体内容主体内容主体内容
  82.  
  83.                 </p>
  84.  
  85.             </div>
  86.  
  87.             <div class="modal-footer" style="text-align: center;">
  88.  
  89.                 <button type="button" data-dismiss="modal" class="btn btn-default">关闭</button>
  90.  
  91.             </div>
  92.  
  93.         </div>
  94.  
  95.     </body>
  96.  

效果如下:

以上,通过data-toggle="modal" href="#full-width"实现模态窗口。

现在,在页面上存在2个按钮:

  1. <button class="btn btn-primary btn-lg">打开模态窗口1</button>
  2.  
  3. <button class="btn btn-primary btn-lg">打开模态窗口2</button>

我们希望点击每个按钮都弹出id为full-width的模态窗口,但模态窗口的标题为按钮的文本。

于是,需要通过Javascript的API来弹出模态窗口,并且,在弹出之前需要把按钮的文本赋值给模态窗口的标题。

  1.         $(function() {
  2.  
  3.             $('.content').on("click", "button", function () {
  4.  
  5.                 $('#full-width .modal-header .modal-title').empty().text($(this).text());
  6.  
  7.                 $('#full-width').modal();
  8.  
  9.             });
  10.  
  11.         });

完整如下:

  1. <head>
  2.  
  3.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4.  
  5.     <title></title>
  6.  
  7.     <link href="css/bootstrap.min.css" rel="stylesheet" />
  8.  
  9.     <script src="Scripts/jquery-2.1.1.min.js"></script>
  10.  
  11.     <script src="js/bootstrap.min.js"></script>
  12.  
  13.     <style type="text/css">
  14.  
  15.         body.modal-open,
  16.  
  17.         .modal-open .navbar-fixed-top,
  18.  
  19.         .modal-open .navbar-fixed-bottom {
  20.  
  21.             margin-right: 0;
  22.  
  23.         }
  24.  
  25.         .modal {
  26.  
  27.             top: 100px;
  28.  
  29.             bottom: auto;
  30.  
  31.             padding: 0;
  32.  
  33.             background-color: #ffffff;
  34.  
  35.             border: 1px solid #999999;
  36.  
  37.             border: 1px solid rgba(0, 0, 0, 0.2);
  38.  
  39.             border-radius: 6px;
  40.  
  41.             -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  42.  
  43.             box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  44.  
  45.             background-clip: padding-box;
  46.  
  47.         }
  48.  
  49.         .modal.container {
  50.  
  51.             max-width: none;
  52.  
  53.         }
  54.  
  55.     </style>
  56.  
  57.     <script type="text/javascript">
  58.  
  59.         $(function() {
  60.  
  61.             $('.content').on("click", "button", function () {
  62.  
  63.                 $('#full-width .modal-header .modal-title').empty().text($(this).text());
  64.  
  65.                 $('#full-width').modal();
  66.  
  67.             });
  68.  
  69.         });
  70.  
  71.     </script>
  72.  
  73. </head>
  74.  
  75.     <body>
  76.  
  77.         <div class="content" style="margin-left: 100px;margin-top: 100px;">
  78.  
  79.             <button class="btn btn-primary btn-lg">打开模态窗口1</button>
  80.  
  81.             <button class="btn btn-primary btn-lg">打开模态窗口2</button>
  82.  
  83.         </div>
  84.  
  85.         <div id="full-width" class="modal container fade" tabindex="-1" style="display: none;">
  86.  
  87.             <div class="modal-header">
  88.  
  89.                 <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
  90.  
  91.                 <h4 class="modal-title">标题</h4>
  92.  
  93.             </div>
  94.  
  95.             <div class="modal-body">
  96.  
  97.                 <p>
  98.  
  99.                     主体内容主体内容主体内容主体内容主体内容主体内容主体内容主体内容主体内容主体内容主体内容主体内容主体内容主体内容主体内容
  100.  
  101.                 </p>
  102.  
  103.             </div>
  104.  
  105.             <div class="modal-footer" style="text-align: center;">
  106.  
  107.                 <button type="button" data-dismiss="modal" class="btn btn-default">关闭</button>
  108.  
  109.             </div>
  110.  
  111.         </div>
  112.  
  113.     </body>
  114.  

效果如下:

多个按钮触发同一个Bootstrap自适应模态窗口的更多相关文章

  1. 使用jQuery和Bootstrap实现多层、自适应模态窗口

    本篇实践一个多层模态窗口,而且是自适应的. 点击页面上的一个按钮,弹出第一层自适应模态窗口. 在第一层模态窗口内包含一个按钮,点击该按钮弹出第二层模态窗口,弹出的第二层模态窗口会挡住第一层模态窗口,即 ...

  2. bootstrap 自定义模态窗口

    $(".classname").click(function () { $('#mymodel').modal('show'); alert('模态框打开了'); }); $('# ...

  3. BootStrap入门教程 (四) :JQuery类库插件(模态窗口,滚动监控,标签效果,提示效果,“泡芙”效果,警告区域,折叠效果,旋转木马,输入提示)

    上讲回顾:Bootstrap组件丰富同时具有良好可扩展性,能够很好地应用在生产环境.这些组件包括按钮(Button),导航(Navigation),缩略图( thumbnails),提醒(Alert) ...

  4. bootstrap 模态窗口 多重/多个弹窗滚动条补丁

    由于bootstrap的模态窗口默认不支持多次弹出, 在关闭的时候会有滚动条消失的问题. 经过观察和查看源码, 发现在开启和关闭的时候会在body上增加/减少一个"modal-open&qu ...

  5. WebUploader 上传插件结合bootstrap的模态框使用时选择上传文件按钮无效问题的解决方法

    由于种种原因(工作忙,要锻炼健身,要看书,要学习其他兴趣爱好,谈恋爱等),博客已经好久没有更新,为这个内心一直感觉很愧疚,今天开始决定继续更新博客,每周至少一篇,最多不限篇幅. 今天说一下,下午在工作 ...

  6. Bootstrap 实例 - 模态框(Modal)插件

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  7. bootstrap的模态框

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  8. layui实现类似于bootstrap的模态框功能

    以前习惯了bootstrap的模态框,突然换了layui,想的用layui实现类似于bootstrap的模态框功能. 用到了layui的layer模块,例如: <!DOCTYPE html> ...

  9. Bootstrap使用模态框modal实现表单提交弹出框

    Bootstrap 模态框(Modal)插件 模态框(Modal)是覆盖在父窗体上的子窗体.通常,目的是显示来自一个单独的源的内容,可以在不离开父窗体的情况下有一些互动.子窗体可提供信息.交互等.如果 ...

随机推荐

  1. Android sdk安装目录中没有platform-tools目录问题详解

    sdk下载地址 http://tools.android-studio.org/index.php/sdk 安装步骤很简单,百度即可. 下面详细说一下,在安装中遇到android sdk下没有plat ...

  2. Robotium_断言方法assert、is、search

    下面的这些方法都主要用来判断测试结果是否与预期结果相符,一般把is和search方法放在assert里面判断.assert最常用的还是assertThat方法,是Junit的判断,这里就不多说了.断言 ...

  3. 001_软件waf

    一.优秀的软件waf开源软件 <1>openwaf介绍  http://www.oschina.net/p/openwaf http://git.oschina.net/miracleqi ...

  4. Java编程的逻辑 (65) - 线程的基本概念

    ​本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http: ...

  5. HBase0.99.2集群的搭建步骤(在hadoop2.6.4集群和zookeeper3.4.5集群上)

    HBase介绍(NoSql,不是关系型数据库) HBase是一个高可靠性.高性能.面向列.可伸缩的分布式存储系统,利用HBASE技术可在廉价PC Server上搭建起大规模结构化存储集群. HBase ...

  6. CSS transform中的rotate的旋转中心怎么设置

    transform-origin属性 默认情况,变形的原点在元素的中心点,或者是元素X轴和Y轴的50%处.我们没有使用transform-origin改变元素原点位置的情况下,CSS变形进行的旋转.移 ...

  7. js冲刺一下

    js中__proto__和prototype的区别和关系 1.对象有属性__proto__,指向该对象的构造函数的原型对象. 2.方法除了有属性__proto__,还有属性prototype,prot ...

  8. Ajax json交互和SpringMVC中@RequestBody

    Ajax json交互和SpringMVC中@RequestBody 标签: 背景 自己提供出去得接口中参数设置为@RequestBody VipPromotionLog vipPromotionLo ...

  9. join方法的使用

    在上面的例子中多次使用到了Thread类的join方法.我想大家可能已经猜出来join方法的功能是什么了.对,join方法的功能就是使异步执行的线程变成同步执行.也就是说,当调用线程实例的start方 ...

  10. 使用GenericServlet实例

    使用GenericServlet实例 package com.kettas.servlet; import javax.servlet.* ; import java.io.* ; public cl ...