解决layer.open后laydate失效的问题

如果你的open方式是1(html)的话这样是可以的,

如果是2(iframe)方式打开,你把注入的代码写在打开的界面就可以了不用这样写,open的参数type是有区别的,所以请注意:

今天在开发项目时候使用到了laydate,按照官方文档说明使用发现出现下面的问题:

1.在正常页面中使用laydate组件没有问题,点击可以正常显示出来

2.但是在layer.open打开一个窗体后就没有效果了

分析思路:由于页面的加载如果js在页面元素显示之前就执行,那么就会出现无法渲染组件的问题,所有决定等元素渲染后再执行js,

于是先看官方对layer的文档官方layer弹出窗文档,发现success参数说明:当你需要在层创建完毕时执行一些语句,可以通过该回调。

所有把对laydate的渲染放在这里即可,下面是success中的代码:

success: function(layero, index) {//成功后注入事件,不然js在页面完成完成之前就执行,点击没有效果
 laydate.render({
 elem: '#publishTime', //指定元素
 type: 'datetime', //日期格式类型
 });
}

最后记得使用到什么组件需要引入才可以。

以上这篇解决layer.open后laydate失效的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • layer.js open 隐藏滚动条的例子

    我就废话不多说了,直接上代码让大家看看吧! $('img.echart-trand').click(function() { var host = $(this).data('host'); var role = $(this).data('role'); console.log('host',host); console.log(window.width); var labeltitle = host; if(role==4)labeltitle = $(this).data('title')

  • 获取layer.open弹出层的返回值方法

    正在开发的车联网项目用到了layer API.当我在开发"新建电子围栏"的时候需要弹出地图,用户在地图中画一个区域,最后将这个弹出层的数据返回给原页面.下面是我的实现过:程: 触发弹出层的代码: layer.open({ type: 2, title: "设置围栏", shadeClose: true, shade: 0.4, area: ['90%', '90%'], content: "/ElectronicFence/Map?id=" +

  • layer.open关闭父窗口 以及调用父页面的方法

    实例如下: //调用父类方法 window.parent.exportData($('#shownum').val(),$('#splitstr').val()); //关闭iframe页面 var index = parent.layer.getFrameIndex(window.name); //获取窗口索引 parent.layer.close(index); //父类方法 function exportData(shownum,splitstr){ //TODO } 以上这篇layer.

  • layer.open 按钮的点击事件关闭方法

    如下所示: layer.open({ content: dat, btn: ['确定'], yes: function(index, layero){ //事件 layer.close(indxex); } }); 以上这篇layer.open 按钮的点击事件关闭方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • layer.open的自适应及居中及子页面标题的修改方法

    layer.open的自适应: var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引 parent.layer.iframeAuto(index); layer.open居中: var index1 = layer.load(2, { shade: false });//过渡 //重新定义layer.open的宽 var index = parent.layer.getFrameIndex(window.na

  • layer.open弹层查看缩略图的原图,自适应大小的实例

    很多时候需要查看缩略图的原图,那么layer.open是一个不错的选择 直接上代码 //查看原图 function showImg(url){ //alert(url); var img_infor = "<img src='" + url + "' />"; layer.open({ type: 1, closeBtn: 1, shade: false, title: false, //不显示标题 //skin: 'layui-layer-nobg',

  • 解决layer.open后laydate失效的问题

    如果你的open方式是1(html)的话这样是可以的, 如果是2(iframe)方式打开,你把注入的代码写在打开的界面就可以了不用这样写,open的参数type是有区别的,所以请注意: 今天在开发项目时候使用到了laydate,按照官方文档说明使用发现出现下面的问题: 1.在正常页面中使用laydate组件没有问题,点击可以正常显示出来 2.但是在layer.open打开一个窗体后就没有效果了 分析思路:由于页面的加载如果js在页面元素显示之前就执行,那么就会出现无法渲染组件的问题,所有决定等元

  • 解决reload(sys)后print失效的问题

    python版本: python2.7.6 #查看python默认编码格式 >>> import sys >>> print sys.getdefaultencoding() #python 2.x 默认编码是ascii格式; python 3.x 默认编码是utf-8格式 ascii #设置python默认的编码格式 >>> import sys >>> print sys.setdefaultencoding('utf-8') 操

  • 解决layer 动态加载select 失效的问题

    问题: 现在select的一些插件都是隐藏掉原生select域,然后生成一个div框架来做样式和动态效果,但是这些组件在layer弹出层中都没有反应 解决办法: form.render('select');//局部渲染select 废话: 不知道有没有人入了layer的坑,关于它的动态加载select和单选复选框的.原来layer为了让样式更漂亮,所以它隐藏了原先的样式,自己动态生成了一个新的样式..所以通过异步得到的新节点添加完以后要form.render('节点名')..再局部渲染一下就好了

  • 解决Mybatis-Plus操作分页后数据失效问题

    业务场景 我们知道在使用PageHelper分页插件时,会对执行PageHelper.startPage(pageNum, pageSize);方法后的第一条查询语句进行分页操作.在开发中总会遇到这样的业务情景,在进行分页查询后,需要对获得的列表数据包装成另一种类型,此时需要对新类型的列表进行分页,然而由于PageInfo<T>因为泛型的原因,导致处理后的列表不能加入到该类中. 如,我在数据库分页后查询到的类为PageInfo<User>,此时改类中的list属性为User,在当前

  • 解决antd 表单设置默认值initialValue后验证失效的问题

    方法一: getFieldDecorator没有第三个参数,如果写了3个参数就会出错 错误代码: <Form.Item> { getFieldDecorator('userName', { initialValue: 'Tom' },{ rules: [{ required: true, message: '请输入用户名', }], })( <Input placeholder='请输入用户名'/> ) } </Form.Item> 正确代码: <Form.Ite

  • 完美解决ajax访问遇到Session失效的问题

    最近由于一个项目,模块切换为ajax请求数据,当Session失效后,ajax请求后没有返回值,只有响应的html:<html><script type='text/javascript'>window.open('http://192.168.0.118:8080/welcomeAction/loginUI.do','_top');</script></html> 现在Ajax在Web项目中应用广泛,几乎可以说无处不在,这就带来另外一个问题:当Ajax请求

  • 解决layer.msg 不居中 ifram中的问题

    在ifram中layer.alert 只展示当前页面 如何让弹框在整个页面中展示 而不是在ifram中 parent.parent.layer.alert('请输入预约人'); 本以为这样就可以 在主页面中还需要引入layer <!--如果使用的是layui layui版本光引入layui.js还不够,还要在引入的文件后加下面代码才 layui.use(['layer'], function(){ var layer=layui.layer; }); --> 否则总是提示parent.laye

  • 解决layer.open弹出框不能获取input框的值为空的问题

    最近使用layer框架来做页面弹出框操作.总是不能获取弹出框中input的值,代码如下:红色标记区域 添加js代码 //Ajax添加品牌 function addBrandWI(){ layer.open({ type: 0, title: '品牌添加', shadeClose: true, shade: 0.8, btn: ['保存', '取消'], area: ['40%', '70%'], content: $('#add_Brand').html(), yes:function(inde

  • 解决layer弹出层的内容页点击按钮跳转到新的页面问题

    在参与的一个项目中,有一个这样的需求,导入基础数据成功后,默认弹出一个管理员登录页,点击登录按钮,需要跳到管理页面. 导入页按钮: <button type="button" id="start" class="layui-btn layui-btn-radius layui-btn-lg layui-bg-orange btn3"><i>导入</i></button> 导入按钮的点击事件,点击后会

  • 解决layer.confirm选择完之后消息框不消失的问题

    如下所示: layer.confirm('主题库里已存在相同的表', function(){ ..........//处理结果 }); 当用户选择完确定之后,消息框不会消失,并且代码会继续执行,会出现代码后需要显示的信息已经出现但是消息框仍然显示在最前面(跳转页面不算) 这是要用layer.closeAll('dialog');这个代码关闭信息框 layer.confirm('主题库里已存在相同的表', function(){ layer.closeAll('dialog'); ........

随机推荐