当前位置 主页 > 网站技术 > 代码类 >

    layui写后台表格思路和赋值用法详解

    栏目:代码类 时间:2019-11-14 18:06

    layui.form 模块用法总结。

    基于layui做 表单 赋值 取值

    思路

    一. 初始一个方法用来给弹窗赋值,一种赋值,是按数据赋值,一种是清空数据

     function initContorl (data){   //传数据 赋值为数组 不传数据赋值为空
     if(data){
     form.val("control",data)
     }else {
     form.val("control",
     {
      "name1": "",
      ,"name2": "",
     ,"name3":""
     })
     }

    * layui 中form.val();方法form.val("control") 中的control为 <form> 标签中的 lay-filter 值, name1,name2,name2为 input的name属性值,我一般和id设为同一个

    *赋值

    1. <input type="text" name="name"> name val

    2 <select name="name"></select> name val

    3 <input type="radio" name="name"> name val

    4 <textarea name="desc"></textarea> name val

    5 开关 <input type="checkbox" name="off_on" lay-skin="switch" lay-text="开启|关闭"> name val(true/fasle)

    6 多选这里比较搞人 layui 要设置不同的名字然后将对应的 name 设置为true 而后台需要的是 name:vule 的json格式.

    具体做法为:写成 <input type="checkbox" name="subject[GS024]" value="GS024" title="生命安全"> subject为传给后端的

    name值,赋值 intdata["subject["+el.st_grade+"]"] = true; intdata 传给 initContorl (data) 的data参数.

    所以多选赋值: name[vlue] val(true/fasle);

    *清空 不传data initContorl就是清空

    1-5 自己设 6 设置为 $("input:checkbox").attr("checked",false);使用过后要更新下表单状态 form.render('checkbox');

    二 获取表单数据;

    layui 是在监听表单提交的时候 获取表格值 表单提交按钮结构 <button lay-submit lay-filter="*">提交</button

    监听方法

     form.on('submit(filter值)', function(data){
    
     data.field //即 为获取的表格值;
    
     return false;//阻止表单提交采用jaxa处理数据
    
    })
    

    获得的结构为

    注意这里多选的格式并不是我们想要的格式;多选的取值不能用

    于是这里用另外一个方式获取

    首先清除掉 带dx的项

    var getData = data.field;
    
    for( key in getData){
      var myReg = /dx/;
      if ( myReg.test(key)){
       delete getData[key];
      }
      }
    

    然后给他赋值正确的格式

    var arry = [];
    
    $("input:checkbox[name^='grade']:checked").each(function(i){
      arry[i] = $(this).val();
     });
    
    getData.dx = arry;
    

    三、到这里完成 表单的赋值 取值,用layui很简单。 做表格 增删改查 这个模块必不可少

    以上这篇layui写后台表格思路和赋值用法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持IIS7站长之家。