前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Layui常见问题

Layui常见问题

作者头像
二十三年蝉
发布2018-02-28 13:52:33
2.3K0
发布2018-02-28 13:52:33
举报
文章被收录于专栏:闻道于事闻道于事

为什么表单不显示?当你使用表单时,Layui会对select、checkbox、radio等原始元素隐藏,从而进行美化修饰处理。但这需要依赖于form组件,所以你必须加载 form,并且执行一个实例。值得注意的是:导航的Hover效果、Tab选项卡等同理(它们需依赖 element 模块)

代码语言:javascript
复制
1 layui.use('form', function(){
2   var form = layui.form; //只有执行了这一步,部分表单元素才会自动修饰成功
3   
4   //……
5   
6   //但是,如果你的HTML是动态生成的,自动渲染就会失效
7   //因此你需要在相应的地方,执行下述方法来手动渲染,跟这类似的还有 element.init();
8   form.render();
9 });      

layui数据表格可以设置宽度为百分比:

根据设置每一列的百分比宽度来进行设置,不过遇到过一个页面,设置列宽百分比之后所有的列都变得挤到一起,而且上下不齐,经检查:

因为在表格中设置了宽度为 'full' 这在当前版本是不识别的,需要所以下面设置的百分比也出问题了。

表单

layui的弹出层失效的问题

加上在ajax后加上return false可以用了

原来的代码:

代码语言:javascript
复制
 1 <script>
 2 $('form').submit(function() {
 3             if($("#newname").val().length<2){
 4                 layui.use('layer', function() {
 5                     var layer = layui.layer;
 6                      layer.alert('姓名最少2个字符', {
 7                             skin: 'layui-layer-lan'
 8                             ,closeBtn: 0
 9                             ,anim: 4 //动画类型
10                           });
11                     });
12                 return false;
13             }
14         
15             
16         $.ajax({  
17             url: '<%=basePath%>/personal/msg/editname',
18             type : 'POST',
19             data : {
20                 id:$('#id').val(),
21                 name:$('#newname').val(),
22             },
23             async: false,
24             datatype:'json',
25             success : function(returndata) {
26                 tanchuclose();
27                 layui.use('layer', function() {
28                     var layer = layui.layer;
29                      layer.alert(returndata.msg, {
30                             skin: 'layui-layer-lan'
31                             ,closeBtn: 0
32                             ,anim: 4 //动画类型
33                           });
34                     });
35                 
36             },
37             error : function(returndata) {
38                 layui.use('layer', function() {
39                     var layer = layui.layer;
40                      layer.alert("ajax的error", {
41                             skin: 'layui-layer-lan'
42                             ,closeBtn: 0
43                             ,anim: 4 //动画类型
44                           });
45                     });
46                 tanchuclose();
47             }
48         });
49     });
50     </script>

修改后可以弹出的代码:

代码语言:javascript
复制
<script>
$('form').submit(function() {
            if($("#newname").val().length<2){
                layui.use('layer', function() {
                    var layer = layui.layer;
                     layer.alert('姓名最少2个字符', {
                            skin: 'layui-layer-lan'
                            ,closeBtn: 0
                            ,anim: 4 //动画类型
                          });
                    });
                return false;
            }
        
            
        $.ajax({  
            url: '<%=basePath%>/personal/msg/editname',
            type : 'POST',
            data : {
                id:$('#id').val(),
                name:$('#newname').val(),
            },
            async: false,
            datatype:'json',
            success : function(returndata) {
                tanchuclose();
                layui.use('layer', function() {
                    var layer = layui.layer;
                     layer.alert(returndata.msg, {
                            skin: 'layui-layer-lan'
                            ,closeBtn: 0
                            ,anim: 4 //动画类型
                          });
                    });
                
            },
            error : function(returndata) {
                layui.use('layer', function() {
                    var layer = layui.layer;
                     layer.alert("ajax的error", {
                            skin: 'layui-layer-lan'
                            ,closeBtn: 0
                            ,anim: 4 //动画类型
                          });
                    });
                tanchuclose();
            }
        });
        return false;
    });
    </script>

layui报错某个元素找不到

原因:laiyui中引用了没有声明的某个变量

layui中使用layer出问题,提示找不到

单独使用layer出问题,提示找不到

文档地址:http://www.layui.com/doc/modules/layer.html

代码语言:javascript
复制
1 layui.use('layer', function(){
2   var layer = layui.layer;
3   
4   layer.msg('hello');
5 });  

有些内容挤在一起,不能解析,分开就可以使用

代码语言:javascript
复制
 1     <script>
 2 layui.use('table', function(){
 3   var table = layui.table;
 4   var $ = layui.$;
 5   var active = {
 6     reload: function(){
 7       var demoReload = $('#demoReload');
 8       
 9       //执行重载
10       table.reload('idTest', {
11         page: {
12           curr: 1 //重新从第 1 页开始
13         },
14         where: {
15           name:  demoReload.val() 
16         }
17       });
18     }
19   };
20   
21   $('.demoTable .layui-btn').on('click', function(){
22     var type = $(this).data('type');
23     active[type] ? active[type].call(this) : '';
24   });
25 });
26 </script>
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-11-29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档