详解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中的有名函数和无名函数
Oct 17 Javascript
JS将数字转换成三位逗号分隔的样式(示例代码)
Feb 19 Javascript
javascript学习笔记之10个原生技巧
May 21 Javascript
关闭页面时window.location事件未执行的原因分析及解决方案
Sep 01 Javascript
jQuery插件实现无缝滚动特效
Nov 24 Javascript
检查表单元素的值是否为空的实例代码
Jun 16 Javascript
使用 jQuery.ajax 上传带文件的表单遇到的问题
Oct 31 Javascript
JS实现京东首页之页面顶部、Logo和搜索框功能
Jan 12 Javascript
彻底解决 webpack 打包文件体积过大问题
Jul 07 Javascript
angular+ionic返回上一页并刷新页面
Aug 08 Javascript
node中koa中间件机制详解
Aug 22 Javascript
node链接mongodb数据库的方法详解【阿里云服务器环境ubuntu】
Mar 07 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
拼音码表的生成
2006/10/09 PHP
openPNE常用方法分享
2011/11/29 PHP
laravel中数据显示方法(默认值和下拉option默认选中)
2019/10/11 PHP
PHP number_format函数原理及实例解析
2020/07/14 PHP
javascript 动态生成私有变量访问器
2009/12/06 Javascript
jQuery Validation插件remote验证方式的Bug解决
2010/07/01 Javascript
jQuery写的日历(包括日历的样式及功能)
2013/04/23 Javascript
javascript窗口宽高,鼠标位置,滚动高度(详细解析)
2013/11/18 Javascript
从js向Action传中文参数出现乱码问题的解决方法
2013/12/29 Javascript
jquery移除、绑定、触发元素事件使用示例详解
2014/04/10 Javascript
JavaScript DOM元素尺寸和位置
2015/04/13 Javascript
JavaScript每天定时更换皮肤样式的方法
2015/07/01 Javascript
javascript使用输出语句实现网页特效代码
2015/08/06 Javascript
JavaScript中的this引用(推荐)
2016/08/05 Javascript
微信小程序开发之大转盘 仿天猫超市抽奖实例
2016/12/08 Javascript
解决Layui中templet中a的onclick参数传递的问题
2019/09/20 Javascript
[37:22]DOTA2上海特级锦标赛D组资格赛#2 Liquid VS VP第一局
2016/02/28 DOTA
[02:49:21]2019完美盛典全程录像
2019/12/08 DOTA
Python封装shell命令实例分析
2015/05/05 Python
Linux下用Python脚本监控目录变化代码分享
2015/05/21 Python
Python实现各种排序算法的代码示例总结
2015/12/11 Python
Python简单读写Xls格式文档的方法示例
2018/08/17 Python
详解Python的循环结构知识点
2019/05/20 Python
在Python中append以及extend返回None的例子
2019/07/20 Python
使用Python来做一个屏幕录制工具的操作代码
2020/01/18 Python
python安装后的目录在哪里
2020/06/21 Python
解决Pytorch自定义层出现多Variable共享内存错误问题
2020/06/28 Python
python编程的核心知识点总结
2021/02/08 Python
详解Python 中的 defaultdict 数据类型
2021/02/22 Python
个人贷款授权委托书样本
2014/10/07 职场文书
2014年护士长工作总结
2014/11/11 职场文书
汽车转让协议书范本
2014/12/07 职场文书
公司副总经理岗位职责
2015/04/08 职场文书
活着观后感
2015/06/03 职场文书
详解PHP服务器如何在有限的资源里最大提升并发能力
2021/05/25 PHP
Anaconda配置各版本Pytorch的实现
2021/08/07 Python