详解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 相关文章推荐
javascript实现页面刷新时自动清空表单并选中的方法
Jul 18 Javascript
jQuery使用animate创建动画用法实例
Aug 07 Javascript
原生js实现网页顶部自动下拉/收缩广告效果
Jan 20 Javascript
一个有意思的鼠标点击文字特效jquery代码
Sep 23 jQuery
bootstrap table支持高度百分比的实例代码
Feb 28 Javascript
原生JS实现获取及修改CSS样式的方法
Sep 04 Javascript
ios中视频的最后一桢问题解决
May 14 Javascript
layui框架与SSM前后台交互的方法
Sep 12 Javascript
javascript如何实现create方法
Nov 04 Javascript
Vue的click事件防抖和节流处理详解
Nov 13 Javascript
JS实现基本的网页计算器功能示例
Jan 16 Javascript
vue css 引入asstes中的图片无法显示的四种解决方法
Mar 16 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程序中的常见漏洞进行攻击(上)
2006/10/09 PHP
PHP中实现中文字符进制转换原理分析
2011/12/06 PHP
PHP递归实现文件夹的复制、删除、查看大小操作示例
2017/08/11 PHP
PHP使用PhpSpreadsheet操作Excel实例详解
2020/03/26 PHP
JavaScript高级程序设计 读书笔记之十 本地对象Date日期
2012/02/27 Javascript
jQuery fadeTo方法调整图片的透明度使用介绍
2013/05/06 Javascript
扩展js对象数组的OrderByAsc和OrderByDesc方法实现思路
2013/05/17 Javascript
jquery浏览器滚动加载技术实现方案
2014/06/03 Javascript
轻松创建nodejs服务器(1):一个简单nodejs服务器例子
2014/12/18 NodeJs
JavaScript中对象property的删除方法介绍
2014/12/30 Javascript
js中split和replace的用法实例
2015/02/28 Javascript
基于JavaScript操作DOM常用的API小结
2015/12/01 Javascript
javascript动态添加checkbox复选框的方法
2015/12/23 Javascript
Angular2 (RC4) 路由与导航详解
2016/09/21 Javascript
bootstrap table表格使用方法详解
2017/04/26 Javascript
bootstrap table单元格新增行并编辑
2017/05/19 Javascript
js学习总结_基于数据类型检测的四种方式(必看)
2017/07/04 Javascript
EasyUI的DataGrid每行数据添加操作按钮的实现代码
2017/08/22 Javascript
基于vue-ssr服务端渲染入门详解
2018/01/08 Javascript
vue axios基于常见业务场景的二次封装的实现
2018/09/21 Javascript
react中使用css的7中方式(最全总结)
2019/02/11 Javascript
微信小程序HTTP接口请求封装代码实例
2019/09/05 Javascript
angular组件间通讯的实现方法示例
2020/05/07 Javascript
一波神奇的Python语句、函数与方法的使用技巧总结
2015/12/08 Python
Django 全局的static和templates的使用详解
2019/07/19 Python
python map比for循环快在哪
2020/09/21 Python
使用CSS3的box-sizing属性解决div宽高被内边距撑开的问题
2016/06/28 HTML / CSS
HTML5的postMessage的使用手册
2018/12/19 HTML / CSS
华为c/c++笔试题
2016/01/25 面试题
个人简历中的自我评价范例
2013/10/29 职场文书
工程管理专业毕业生自荐信
2014/01/24 职场文书
工会主席岗位责任制
2014/02/11 职场文书
合作经营协议书范本
2014/04/17 职场文书
2014年公务员个人工作总结
2014/11/22 职场文书
员工辞职信范文
2015/03/02 职场文书
公司奖励通知
2015/04/21 职场文书