layUI表单--乐字节前端

表单

​ <font color="red">依赖加载模块:form </font>

  1. 在一个容器中设定 class="layui-form" 来标识一个表单元素块

    <form class="layui-form" action="">
        
    </form>
    
  2. 基本的行区块结构,它提供了响应式的支持。可以换成其他结构,但必须要在外层容器中定义class="layui-form",form模块才能正常工作。

    <div class="layui-form-item">
         <label class="layui-form-label">标签区域</label>
         <div class="layui-input-block">
         原始表单元素区域
         </div>
    </div>
    
输入框
<input type="text" name="title" required lay-verify="required" placeholder="请输入标题" autocomplete="off" class="layui-input" />  
  • required:注册浏览器所规定的必填字段
  • lay-verify:注册form模块需要验证的类型
  • class="layui-input":layui.css提供的通用CSS类
下拉选择框
<select name="city" lay-verify="">
  <option value="">请选择一个城市</option>
  <option value="010">北京</option>
  <option value="021">上海</option>
  <option value="0571">杭州</option>
</select>  
  • 属性selected可设定默认项
  • 属性disabled开启禁用,select和option标签都支持
<select name="city" lay-verify="">
  <option value="010">北京</option>
  <option value="021" disabled>上海(禁用效果)</option>
  <option value="0571" selected>杭州</option>
</select>  
  • 可以通过 optgroup 标签给select分组
<select name="quiz">
  <option value="">请选择</option>
  <optgroup label="城市记忆">
    <option value="你工作的第一个城市">你工作的第一个城市?</option>
  </optgroup>
  <optgroup label="学生时代">
    <option value="你的工号">你的工号?</option>
    <option value="你最喜欢的老师">你最喜欢的老师?</option>
  </optgroup>
</select>
  • 通过设定属性 lay-search 来开启搜索匹配功能
<select name="city" lay-verify="" lay-search>
  <option value="010">layer</option>
  <option value="021">form</option>
  <option value="0571" selected>layim</option>
</select>   
复选框
<h2>默认风格:</h2>
<input type="checkbox" name="" title="写作" checked>
<input type="checkbox" name="" title="发呆"> 
<input type="checkbox" name="" title="禁用" disabled> 
 
<h2>原始风格:</h2>
<input type="checkbox" name="" title="写作" lay-skin="primary" checked>
<input type="checkbox" name="" title="发呆" lay-skin="primary"> 
<input type="checkbox" name="" title="禁用" lay-skin="primary" disabled> 
  • 属性title可自定义文本(温馨提示:如果只想显示复选框,可以不用设置title)
  • 属性checked可设定默认选中
  • 属性lay-skin可设置复选框的风格 (原始风格:lay-skin="primary")
  • 设置value="1"可自定义值,否则选中时返回的就是默认的on
开关

将复选框checkbox,通过设定 lay-skin="switch" 形成了开关风格

<input type="checkbox" name="xxx" lay-skin="switch">
<input type="checkbox" name="yyy" lay-skin="switch" lay-text="ON|OFF" checked>
<input type="checkbox" name="zzz" lay-skin="switch" lay-text="开启|关闭">
<input type="checkbox" name="aaa" lay-skin="switch" disabled>
  • 属性checked可设定默认开
  • 属性disabled开启禁用
  • 属性lay-text可自定义开关两种状态的文本 (两种文本用 "|" 隔开)
  • 设置value="1"可自定义值,否则选中时返回的就是默认的on
单选框
<input type="radio" name="sex" value="nan" title="男">
<input type="radio" name="sex" value="nv" title="女" checked>
<input type="radio" name="sex" value="" title="中性" disabled>
  • 属性title可自定义文本
  • 属性disabled开启禁用
  • 设置value="xxx"可自定义值,否则选中时返回的就是默认的on
文本域
<textarea name="remark" required lay-verify="required" placeholder="请输入个人介绍" class="layui-textarea"></textarea>
  • class="layui-textarea":layui.css提供的通用CSS类
组装行内表单
<div class="layui-form-item">
    <div class="layui-inline">
        <label class="layui-form-label">范围</label>
        <div class="layui-input-inline" style="width: 100px;">
          <input type="text" name="price_min" placeholder="¥" 
                 autocomplete="off" class="layui-input">
        </div>
        <div class="layui-form-mid">-</div>
        <div class="layui-input-inline" style="width: 100px;">
          <input type="text" name="price_max" placeholder="¥" 
                 autocomplete="off" class="layui-input">
        </div>
    </div>
</div>
  • class="layui-inline":定义外层行内
  • class="layui-input-inline":定义内层行内
忽略美化渲染

​ 可以对表单元素增加属性 lay-ignore 设置后,将不会对该标签进行美化渲染,即保留系统风格。

<input type="radio" name="sex" value="nan" title="男" lay-ignore>
表单方框风格

​ 通过追加 layui-form-pane 的class,来设定表单的方框风格。

<form class="layui-form layui-form-pane" action="">
  <!-- 
        内部结构都一样,值得注意的是 复选框/开关/单选框 这些组合在该风格下需要额外添加 pane属性(否则     会看起来比较别扭),如: 
  -->
  <div class="layui-form-item" pane>
    <label class="layui-form-label">单选框</label>
    <div class="layui-input-block">
      <input type="radio" name="sex" value="男" title="男">
      <input type="radio" name="sex" value="女" title="女" checked>
    </div>
  </div>
</form>

组件示例

弹出层

<font color="red">模块加载名称:layer,独立版本:layer.layui.com</font>

使用场景

由于layer可以独立使用,也可以通过Layui模块化使用。所以请按照你的实际需求来选择。

场景 用前准备 调用方式
1. 作为独立组件使用 如果你只是单独想使用 layer,你可以去 layer 独立版本官网下载组件包。你需要在你的页面引入jQuery1.8以上的任意版本,并引入layer.js 通过script标签引入layer.js后,直接用即可。
2. layui 模块化使用 如果你使用的是 layui,那么你直接在官网下载 layui 框架即可,无需引入 jQuery 和 layer.js,但需要引入layui.csslayui.js 通过layui.use('layer', callback)加载模块
  1. 作为独立组件使用 layer

    <!-- 引入好layer.js后,直接用即可 -->
    <script src="layer.js"></script>
    <script>
     layer.msg('hello'); 
    </script>
    
  2. 在 layui 中使用 layer

    layui.use('layer', function(){
      var layer = layui.layer;
      
      layer.msg('hello');
    });
    
基础参数
  1. type - 基本层类型

    类型:Number,默认:0
    
    可传入的值有:
     0(信息框,默认)
     1(页面层)
     2(iframe层)
     3(加载层)
     4(tips层)
    
  2. title - 标题

    类型:String/Array/Boolean,默认:'信息'
    
    title支持三种类型的值:
     若传入的是普通的字符串,如 title :'我是标题',那么只会改变标题文本;
     若需要自定义样式,可以title: ['文本', 'font-size:18px;'],数组第二项可以写任意css样式;
     若你不想显示标题栏,可以 title: false;
    
  3. content - 内容

    类型:String/DOM/Array,默认:''
    
    content可传入的值是灵活多变的,不仅可以传入普通的html内容,还可以指定DOM。
    
     /* 信息框 */
    layer.open({
        type:0,
        title:"系统消息",
        // content可以传入任意的文本或html
        content:"Hello"
    });
    
    /* 页面层 */
    layer.open({
        type:1,
        title:"系统消息",
        // content可以传入任意的文本或html
        content:"<div style='height:100px;width:200px'>Hello</div>"
    });
    
    /* iframe */
    layer.open({
        type:2,
        title:"系统消息",
        // content是一个URL,如果你不想让iframe出现滚动条,你还可以content: ['url', 'no']
        content:"http://www.baidu.com"
        // content:["http://www.baidu.com",'no']
    });
    
     /* tips层 */
    layer.open({
      type: 4,
      content: ['内容', '#id'] //数组第二项即吸附元素选择器或者DOM
    });
    
    
  4. area - 宽高

    类型:String/Array,默认:'auto'
    
    在默认状态下,layer是宽高都自适应的。
    当定义宽度时,你可以area: '500px',高度仍然是自适应的。
    当宽高都要定义时,你可以area: ['500px', '300px']。
    
  5. icon - 图标

    注:信息框和加载层的私有参数。
    
    类型:Number,默认:-1(信息框)/0(加载层)
    
    信息框默认不显示图标。当你想显示图标时,默认层可以传入0-6。如果是加载层,可以传入0-2。
    
    // eg1
    layer.alert('酷毙了', {icon: 1});
    // eg2
    layer.msg('不开心。。', {icon: 5});
    // eg3
    layer.load(1); // 风格1的加载
    
  6. 示例

    // eg1
    layer.alert('很高兴见到你😊', {icon: 6});
    
    // eg2
    layer.msg('你愿意和我做朋友么?', {
        time: 0, //不自动关闭
        btn: ['当然愿意', '狠心拒绝'], // 按钮
        yes: function(index){ 
            layer.close(index); // 关闭当前弹出框
            layer.msg('新朋友,你好!', {
                icon: 6, // 图标
                btn: ['开心','快乐']
            });
        }
    });
    
    // eg3
    layer.msg('这是常用的弹出层');
    
    // eg4
    layer.msg('So sad /(ㄒoㄒ)/~~', {icon: 5});
    
    // eg5
    layer.msg('玩命加载中...= ̄ω ̄=', function(){
        // 关闭后的操作
        layer.msg('(⊙o⊙)?');
    });
    
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,699评论 6 513
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,124评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 167,127评论 0 358
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,342评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,356评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,057评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,654评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,572评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,095评论 1 318
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,205评论 3 339
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,343评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,015评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,704评论 3 332
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,196评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,320评论 1 271
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,690评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,348评论 2 358

推荐阅读更多精彩内容