zoukankan      html  css  js  c++  java
  • Layui常见问题

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

    原来的代码:

     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>

    修改后可以弹出的代码:

    <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

    1 layui.use('layer', function(){
    2   var layer = layui.layer;
    3   
    4   layer.msg('hello');
    5 });  

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

     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>
  • 相关阅读:
    JS处理日期&字符串格式相互转换
    Ajax 原理过程 同步与异步区别 优缺点
    元素居中
    width:100%;与width:auto;的区别
    URL、URI和URN三者之间的区别
    JavaScript encodeURI(), decodeURI(), encodeURIComponent(), decodeURIComponent()
    CSS 笔记三(Tables/Box Model/Outline)
    CSS 笔记二(Text/Fonts/Links/Lists)
    CSS 笔记一(Selectors/ Backgrounds/ Borders/ Margins/ Padding/ Height and Width)
    javascript,jQuery,trim()
  • 原文地址:https://www.cnblogs.com/jiangwz/p/7907840.html
Copyright © 2011-2022 走看看