详解bootstrap的modal-remote两种加载方式【强化】


Posted in Javascript onJanuary 27, 2017

方法一:

使用链接

<a href="demo.jsp" data-toggle="modal" data-target="#mymodal">打开</a>

当点击该连接时,demo.jsp的内容就可以动态的加载到<div class="modal-content"></div>中。当然这里的连接也可以是controller

方法二:

使用脚本

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

但是这样加载后,会有问题,modal数据只加载一次,如果要加载不同的数据,例如根据id查询详细信息,modal的数据是不能更新的,即使传的id值不同。其实解决办法很简单,只需要在加载下次数据前,将之前的加载的数据清除即可。

最简单的方式就是监听modal的hidden,当modal关闭时,即把数据清除即可:

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

问题来了:如果在请求的页面中有$()加载事件加载比如boostrap-validator或者boostrap-fileinput等插件会出现奇怪的现象,第一次正常执行,关掉modal,第二次,$()的代码没有执行,第三次能执行;经过反复发现“hidden.bs.modal”监听每次都执行了,但是加载到<div class="modal-content"></div>里面的数据没有被清除,可能是这个原因导致的这种现象,于是改成如下代码:

$("#myModal").on("hidden.bs.modal", function() {  
  $(this).removeData("bs.modal"); 
  /*modal页面加载$()错误,由于移除缓存时加载到<span style="color: rgb(51, 51, 255);"><div class="modal-content"></div></span>未移除的数据,手动移除加载的内容*/ 
  $(this).find(".modal-content").children().remove();  
});

如此这样问题解决了!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
用 JSON 处理缓存
Apr 27 Javascript
基于jQuery的360图片展示实现代码
Jun 14 Javascript
jquery插件hiAlert实现网页对话框美化
May 03 Javascript
AngularJS的一些基本样式初窥
Jul 27 Javascript
原生JavaScript制作计算器
Oct 16 Javascript
Ionic2开发环境搭建教程
Aug 20 Javascript
JS奇技之利用scroll来监听resize详解
Jun 15 Javascript
基于wordpress的ajax写法详解
Jan 02 Javascript
jQuery+ajax实现动态添加表格tr td功能示例
Apr 23 jQuery
Vue隐藏显示、只读实例代码
Jul 18 Javascript
Fundebug支持监控微信小程序HTTP请求错误的方法
Feb 21 Javascript
vue项目创建步骤及路由router
Jan 14 Javascript
Jquery uploadify 多余的Get请求(404错误)的解决方法
Jan 26 #Javascript
js监听input输入框值的实时变化实例
Jan 26 #Javascript
jquery实现input框获取焦点的简单实例
Jan 26 #Javascript
jquery 实时监听输入框值变化的完美方法(必看)
Jan 26 #Javascript
Jquery实时监听input value的实例
Jan 26 #Javascript
jquery实时获取时间的简单实例
Jan 26 #Javascript
微信小程序实现图片自适应(支持多图)
Jan 25 #Javascript
You might like
理解和运用PHP中的多态性[译]
2011/08/02 PHP
php开发留言板的CRUD(增,删,改,查)操作
2012/04/19 PHP
php中的静态变量的基本用法
2014/03/20 PHP
ThinkPHP之A方法实例讲解
2014/06/20 PHP
php getcwd与dirname(__FILE__)区别详解
2016/09/24 PHP
Laravel框架执行原生SQL语句及使用paginate分页的方法
2018/08/17 PHP
jQuery实现原理的模拟代码 -6 代码下载
2010/08/16 Javascript
基于jQuery的淡入淡出可自动切换的幻灯插件
2010/08/24 Javascript
自己动手制作jquery插件之自动添加删除行的实现
2011/10/13 Javascript
table对象中的insertRow与deleteRow使用示例
2014/01/26 Javascript
angularJS 中input示例分享
2015/02/09 Javascript
详解JavaScript逻辑Not运算符
2015/12/04 Javascript
深入理解Java线程编程中的阻塞队列容器
2015/12/07 Javascript
微信小程序实现登录页云层漂浮的动画效果
2017/05/05 Javascript
微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(二)
2017/05/11 Javascript
vuejs使用递归组件实现树形目录的方法
2017/09/30 Javascript
React styled-components设置组件属性的方法
2018/08/07 Javascript
layui 监听表格复选框选中值的方法
2018/08/15 Javascript
Vue的路由及路由钩子函数的实现
2019/07/02 Javascript
微信小程序自定义弹出层效果
2020/05/26 Javascript
JavaScript如何判断对象有某属性
2020/07/03 Javascript
基于python实现名片管理系统
2018/11/30 Python
浅谈Scrapy网络爬虫框架的工作原理和数据采集
2019/02/07 Python
Python通过len函数返回对象长度
2020/10/22 Python
英国一家集合了众多有才华设计师品牌的奢侈店:Wolf & Badger
2018/04/18 全球购物
美国宠物美容和宠物用品购物网站:Cherrybrook
2018/12/07 全球购物
美国翻新电子产品商店:The Store
2019/10/08 全球购物
美国在线面料商店:Fashion Fabrics Club
2020/01/31 全球购物
房产公证书范本
2014/04/10 职场文书
应届大学生自荐书
2014/06/17 职场文书
委托书如何写
2014/08/30 职场文书
2016年学校“3.12”植树节活动总结
2016/03/16 职场文书
标准演讲稿格式结尾应该怎么书写?
2019/07/17 职场文书
Vue详细的入门笔记
2021/05/10 Vue.js
浅谈Redis主从复制以及主从复制原理
2021/05/29 Redis
python not运算符的实例用法
2021/06/30 Python