" />
当前位置:首页 > 日记 > 正文

基于Bootstrap模态对话框只加载一次 remote 数据的解决方法

基于Bootstrap模态对话框只加载一次 remote 数据的解决方法

摘要: 前端框架 Bootstrap 的模态对话框,可以使用 remote 选项指定一个 URL,这样对话框在第一次弹出的时候就会自动从这个地址加载数据到 .modal-body 中,但是它只会加载一次,不过通过在事件中调用 removeData() 方法可以解决这个问题。

1. Bootstrap 模态对话框和简单使用

<div id="myModal" class="modal hide fade">  <div class="modal-header">    <button type="button" class="close" data-dismiss="modal">x</button>    <h3>对话框标题</h3>  </div>  <div class="modal-body">    <p>对话框主体</p>  </div>  <div class="modal-footer">    <a href="#" rel="external nofollow" rel="external nofollow" class="btn" data-dismiss="modal">取消</a>    <a href="#" rel="external nofollow" rel="external nofollow" class="btn btn-primary" data-dismiss="modal">确定</a>  </div></div>

显示效果与下图相似:

可以使用按钮或链接直接调用模态对话框,这是简单的用法:

<button type="button" data-toggle="modal" data-target="#myModal">打开对话框</button><a href="#myModal" rel="external nofollow" role="button" class="btn" data-toggle="modal">打开对话框</button>

这样只能把静态内容在对话框中显示出来,使用对话框的 remote 选项可以实现更强大的效果。

2. 使用 remote 选项让模态对话框加载页面到 .modal-body 中

有两种方法,一种是使用链接,另一种就是使用脚本。

2.1 使用链接

<a href="page.jsp" rel="external nofollow" data-toggle="modal" data-target="#myModal">打开对话框</a>

当点击此链接时,page.jsp 的内容会被加载到对话框的 .modal-body 中,随即显示对话框。

2.2 使用脚本

$("#myModal").modal({  remote: "page.jsp"});

这段脚本的效果和使用链接是一样的,当这段脚本执行后,page.jsp 的内容会被加载到对话框的 .modal-body 中,随即显示对话框。

这两种方法的背后,都是 Bootstrap 调用了 jQuery 的 load() 方法,从服务器端加载了 page.jsp 页面。但这个加载只会发生一次,后面不管你点击几次链接,或者执行几次脚本,哪怕改变传递给 remote 选项的值,对话框都不会重新加载页面,这真是个让人头疼的事情。不过问题还是能够解决的。

3. 移除数据,让对话框能够在每次打开时重新加载页面

在搜索并查阅了相关文档后,发现在对话框的 hidden 事件里写上一条语句就可以了:

$("#myModal").on("hidden", function() {  $(this).removeData("modal");});

也可以在每次打开对话框之前移除数据,效果是一样的。

注:上面的代码基于 Bootstrap v2,如果使用 Bootstrape v3,模态对话框的 HTML 和事件的写法有一些不同,例如对于上面的 hidden 事件,要写成:

$("#myModal").on("hidden.bs.modal", function() {  $(this).removeData("bs.modal");});

以上这篇基于Bootstrap模态对话框只加载一次 remote 数据的解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

相关文章

让你的IIS无懈可击

让你的IIS无懈可击

无懈可击,电脑软件,IIS,如果你的电脑新安装了NT4/Win2000以后,并不是说就可以直接用来作Internet服务器了。尽管微软的补丁打了一大堆,但还是有些漏洞。现在我们就简单的谈一下如何使用IIS建立一个高安全性能的服务器。一、 以Windows NT的安…

Yii框架连接mongodb数据库的代码

Yii框架连接mongodb数据库的代码

数据库,连接,框架,代码,电脑软件,yii2框架是yii的升级版本,本文我们分别讲解在yii框架中如何连接数据库mongodb。在文件夹common/config/main_local.php中加入如下代码:<?phpreturn ['components' => ['mongodb' => ['class' => 'yii…

浅谈oracle的SCN机制

浅谈oracle的SCN机制

机制,浅谈,电脑软件,SCN,oracle,作为oracle中的一种重要机制,SCN(系统更改号)在数据恢复、数据保护、数据流复制、RAC节点间的同步等方面起着重要的作用,了解SCN的运行机制有助于您更好地理解上述功能。 在理解SCN之前,让我们看看Oracle事务中的…

Node.js v8.0.0正式发布!看看带来了

Node.js v8.0.0正式发布!看看带来了

新特性,带来了,正式发布,电脑软件,js,前言Node.js于5月30号在其官方博客上发布了Node.js v8.0.0。这一版本将成为当前的长期维护版本,从2017年10月开始到2019年12月31号。而Node.js v6.0.0将会在2018年4月进入维护模式,并于2019年4月结束。最…

简要描述redis和MySQL之间的差异

简要描述redis和MySQL之间的差异

描述,简要,差异,电脑软件,redis,我们知道MySQL是持久存储。它存储在磁盘中。如果检索,它将涉及某些IO。为了解决这一瓶颈,缓存的出现,例如,现在最常用的缓存(MC)。首先,用户访问的MC,如果不打,去mysql,然后像内存和硬盘,拷贝数据到MC的一部分。 两redi…

H5基于iScroll实现下拉刷新和上拉

H5基于iScroll实现下拉刷新和上拉

上拉加载更多,下拉刷新,电脑软件,iScroll,前言 前一段有个手机端的项目需要用到下拉刷新和上拉加载更多的效果,脑海里第一反映就是微博那种效果,刚开始的理解有些偏差,以为下拉也是追加数据,上拉也是追加数据,后请教同事后发现其实下拉只是…

使用store来优化React组件的方法

使用store来优化React组件的方法

组件,方法,优化,电脑软件,store,?在使用 React 编写组件的时候,我们常常会碰到两个不同的组件之间需要共享状态情况,而通常的做法就是提升状态到父组件。但是这样做会有一个问题,就是尽管只有两个组件需要这个状态,但是因为把状态提到了父组件,…

总结PHP中数值计算的注意事项

总结PHP中数值计算的注意事项

数值计算,注意事项,电脑软件,PHP,一:四舍五入1.round — 对浮点数进行四舍五入float round ( float $val [, int $precision ] )2:floor — 舍去法取整(向下取整)float floor ( float $value )3.ceil — 进一法取整(向上取整)float ceil ( fl…

word2010中如何制作目录word2010制

word2010中如何制作目录word2010制

步骤,方法,目录,电脑软件,strong,  大家写文章有时需要写目录,而这又是很繁琐的,尤其是对于写论文,目录必须要有,那么下面就由小编给大家分享下word2010制作目录的技巧,希望能帮助到您。word2010制作目录的步骤步骤一:word2010制作目录的步骤图…

基于原生js运动方式关键点的总结 |

基于原生js运动方式关键点的总结 |

运动,推荐,原生,关键,方式,主要方法:定时器的运用 setInterval(funnction(){},30);为了避免最后时刻速度即将停止时的误差,可以采用下面的方法:if(iSpeed<1)//速度足够小的时候,让速度直接为0,避免速度的波动{iSpeed = 0;}绝对值的运用(主要运用于…

如何在excel中使用小函数

如何在excel中使用小函数

函数,如何在,电脑软件,excel,当你在Excel表上工作时,你需要找到一组数据的最小值,老师也不例外。他们经常需要数最差的分数。接下来,小编将与您分享在Excel中使用小功能的技巧。我希望你能学习并应用它们。 excel中小函数的使用 每个人都必…

ps怎么给照片加一层黑色图层?

ps怎么给照片加一层黑色图层?

图层,照片,黑色,电脑软件,ps,在生活和工作中,经常会把图片换一种风格,搭配不同场景,下面就来给大家介绍一种常见的照片风格制作,如图,在照片上加上一层黑色半透明的图层。软件名称:Adobe Photoshop 8.0 中文完整绿色破解版软件大小:150.1MB更新时…