//监听数据表格工具条
        table.on('tool(contentList)', function(obj){ //注:tool是工具条事件名,test是table原始容器的属性 lay-filter="对应的值"
            var data = obj.data //获得当前行数据
                ,layEvent = obj.event; //获得 lay-event 对应的值
            if(layEvent === 'detail'){
                x_content_detail('小说详情','content-detail.html',data,600,500);
            } else if(layEvent === 'del'){
                layer.confirm('真的删除行么', function(index){
                    x_content_delete('/novel/delete',data.novelId);
                    layer.close(index);
                });
            } else if(layEvent === 'edit'){
                x_content_edit('编辑小说','content-edit.html',data,600,500);
            }
        });
 
 
layui弹出层回显代码:
title:弹出层标题
url:弹出层html页面
data:回显数据
w:宽度
h:高度
 
function x_content_edit(title, url, data, w, h) {
    if (title == null || title == '') {
        title = false;
    }
    ;
    if (url == null || url == '') {
        url = "404.html";
    }
    ;
    if (w == null || w == '') {
        w = 800;
    }
    ;
    if (h == null || h == '') {
        h = ($(window).height() - 50);
    }
    ;
    layer.open({
        type: 2,    //iframe层
        area: [w + 'px', h + 'px'],
        fix: false, //不固定
        btn: ['确认', '取消'],//弹出层按钮
        maxmin: true,
        shadeClose: true,
        shade: 0.4,
        title: title,
        offset: '50px',
        content: url,
        success: function (layero, index) {//弹出层打开后的回调函数
            var body = layer.getChildFrame('body', index);//获取弹出层的dom元素
            result = JSON.stringify(data);
            result = $.parseJSON(result);
            $.each(result, function (item) {
                body.find('#A_' + item).val(result[item]);//给弹出层页面赋值,id为对应弹出层表单id
                if (item == 'contentId') {
                    body.find('#B_contentId').val(result[item]);//这里是为动态select赋值,在弹出层创建隐藏元素
                } else if (item == 'type') {
                    body.find('#B_type').val(result[item]);
                } else if (item == 'recommendFlag') {
                    body.find('#B_recommendFlag').val(result[item]);
                }
            });
        },
        yes: function (index, layero) {//点击“确认”按钮后触发的事件
            var data = {};
            var body = layer.getChildFrame('body', index);
            var form = body.find("#novelUpdate").serializeArray();//获取指定id的表单
            $.each(form, function () {
                data[this.name] = this.value;
            });
            data = JSON.stringify(data);
            var content = {'novelJson': data};
            $.post('/novel/update', content, function (rec) {//得到数据提交到后端进行更新
                if (rec.code == 0) {
                    layer.alert(rec.msg, {icon: 6}, function (index) {
                        layer.close(index);
                    });
                    layui.use('table', function () {
                        var table = layui.table;
                        table.reload('contentList', {
                            url: '/novel/novelList' //数据接口,更新成功后刷新数据表格
                        });
                    });
                } else {
                    layer.alert(rec.msg, {icon: 5}, function (index) {
                        layer.close(index);
                    });
                }
                layer.close(index);
            }, 'json');
            return false;
 
        }
    });
}
 
 
从后台读取数据渲染到弹出层的select中,并设置默认选中值:
 
function showNovelType() {
    layui.use('form',function () {
        $ = layui.jquery;
        var form = layui.form;
        $.ajax({
            type:'get',
            url:'/common/getNovelType', //后端接口
            dataType:'json',
            success:function (rec) {
                if(rec['code']==0){
                    var novelType=document.getElementById('A_type');
                    var B_type=document.getElementById('B_type');
                    $.each(rec.data,function(i,item){
                        var option=document.createElement("option"); //创建option标签
                        option.setAttribute("value",item['typeId']);//设置value值
                        if(!B_type) {
                            //要同时判断 null 和 undefined
                        }else {
                            if(item['typeId']==B_type.value) {
                                option.setAttribute("selected",'true');//设置选中状态
                            }
                        }
                        option.innerText=item['typeName'];//显示text内容
                        novelType.appendChild(option);
                        form.render('select');//重新渲染
                    })
                }
            }
        })
    })
}
 
function showRecommendPotion() {
    layui.use('form',function () {
        $ = layui.jquery;
        var form = layui.form;
        $.ajax({
            type:'get',
            url:'/common/getRecommendPosition',
            dataType:'json',
            success:function (rec) {
                if(rec['code']==0){
                    var recommendPotion=document.getElementById('A_recommendFlag');
                    var B_recommendFlag=document.getElementById('B_recommendFlag');
                    $.each(rec.data,function(i,item){
                        var option=document.createElement("option");
                        option.setAttribute("value",item['recommendId']);
                        if(!B_recommendFlag) {
                            //要同时判断 null 和 undefined
                        }else{
                            if(item['recommendId']==B_recommendFlag.value) {
                                option.setAttribute("selected",'true');
                            }
                        }
                        option.innerText=item['recommendName'];
                        recommendPotion.appendChild(option);
                        form.render('select');
                    })
                }
            }
        })
    })
}
 
function showContentProvider() {
    layui.use('form',function () {
        $ = layui.jquery;
        var form = layui.form;
        $.ajax({
            type:'get',
            url:'/contentProvider/getAllProviders',
            dataType:'json',
            success:function (rec) {
                if(rec['code']==0){
                    var A_contentId=document.getElementById('A_contentId');
                    var B_contentId=document.getElementById('B_contentId');
                    $.each(rec.data,function(i,item){
                        var option=document.createElement("option");
                        option.setAttribute("value",item['contentId']);
                        if(!B_contentId) {
                            //要同时判断 null 和 undefined
                        }else{
                            if(item['contentId']==B_contentId.value) {
                                option.setAttribute("selected",'true');
                            }
                        }
                        option.innerText=item['contentName'];
                        A_contentId.appendChild(option);
                        form.render('select');
                    })
                }
            }
        })
    })
}
 

layui在open弹出层回显,解决动态select数据回显问题的更多相关文章

  1. layui如何自定义弹出层关闭事件

    在某些业务场景下,我们需要自定义弹出层关闭事件,代码示例如下: layui.use('layer', function () { var layer = layui.layer; layer.open ...

  2. layui如何隐藏弹出层关闭的按钮

    layui默认弹出层是带有关闭按钮的,但是在某些场景我们不需要layui的关闭按钮,这时只需添加closeBtn :0即可 效果图如下: 示例代码如下: layui.use('layer', func ...

  3. Layui弹出层、日期和时间选择、即时通讯、分页

    Layui弹出层.日期和时间选择.即时通讯.分页 弹层组件文档 - layui.layer 对于弹出层的感觉是:layer 至今仍作为 layui 的代表作,她的受众广泛并非偶然,而是这数年来的坚持. ...

  4. 微擎使用post提交,并显示弹出层

    微擎使用post提交,并显示弹出层 function changeStatus(id, status) { // 提交数据 var id = parseInt(id); var status = pa ...

  5. layui弹出层处理(获取、操作弹出层数据等)

    要点: 字符串被渲染为弹窗层之后,回自动转换为DOM,可以使用jq进行各种操作 <!DOCTYPE html> <html> <head> <meta cha ...

  6. LayUI之弹出层

    1.导入插件 layui使用需要导入layui的js和css: <link rel="stylesheet" href="layui/css/layui.css&q ...

  7. 权限管理系统之LayUI实现页面增删改查和弹出层交互

    由于对LayUI框架不太熟悉,昨天抽空看了下LayUI的文档,今天在网上找了使用LayUI进行增删改查相关内容,自己照葫芦画了个瓢,画瓢部分不是很难,主要是下午遇到了一个弹出层的问题耗时比较久. 同一 ...

  8. 弹出层-layui

    type 0(信息框,默认)1(页面层)2(iframe层)3(加载层)4(tips层) 弹出层 //winIndex存储弹出层的index,以便关闭弹出层时使用 function openWindo ...

  9. layui关闭弹出层

    layui关闭弹出层,今天我在vscode中使用p parent.layer.closeAll()发现没效果 换成layer.closeAll()就解决了这个问题. 由此我觉得关闭layui关闭弹出层 ...

随机推荐

  1. MySQL数据库的sql语句的导出与导入

    1.MySQL数据库的导出 (1)选择对应的数据库 (2)点击右键选择Dump SQL File (3)会出现保存框,选择保存的位置,名称不建议重新起名 (4)点击保存出现 (5)点击Close就可以 ...

  2. Android5.0新特性之——按钮点击效果动画(涟漪效果)

    Android5.0 Material Design设计的动画效果 RippleDrawable涟漪效果 涟漪效果是Android5.0以后的新特性.为了兼容性,建议新建drawable-v21文件夹 ...

  3. python学习之旅(入门)

    一.list 有序集合 1.list 有序集合  L = [95.5, 85, 59]  如L[1] = 85 ,L[-1] = 59  和php中array一个意思  用[] 表示就可以了 2.新增 ...

  4. Springboot中Jackson的操作

    有一段时间没写博客了,虽然是菜鸟一枚但毕竟总要有东西记录学习的,我相信有志者事竟成.今天在工作中使用Jackson转换了一个javabean,传到测试服上之后发现日期少了一天,使用的是@JsonFor ...

  5. python程序—用户登录

    编写一个用户登录程序: 1.登录成功显示登录页面 2.登录失败,显示密码错误,并且显示错误几次 3.登录失败三次,退出程序 username= 'root' passwd= ' count= prin ...

  6. CF Manthan, Codefest 16 B. A Trivial Problem

    数学技巧真有趣,看出规律就很简单了 wa 题意:给出数k  输出所有阶乘尾数有k个0的数 这题来来回回看了两三遍, 想的方法总觉得会T 后来想想  阶乘 emmm  1*2*3*4*5*6*7*8*9 ...

  7. vue案例todolist备忘录

    项目效果:https://cinderellastory.github.io/todolist/dist/index.html#/ 项目链接:https://github.com/Cinderella ...

  8. java 形式参数和实际参数的区别

    1.形参不能离开方法.形参只有在方法内才会发生作用,也只有在方法中使用,不会在方法外可见.而实参可以再程序的任何地方都使用.

  9. 2n字符

    有2n字符挨个排成一排,前n个是'1',后n个是'0'.如 11110000(此时2n=8),现在交换字符的位置,使之按照 10101010 的模式排列.而且要使字符移动的次数最少,编程计算最少的移动 ...

  10. 基于C#简单实现多个word文件和Excel文件的全局字符串替换

    公司整理文档工作中,出现了一个需要使用全局字符替换多个word文档.excel文档中的内容的需求.虽然office.WPS都有全局替换的功能(ctrl+h),但是文件过多,且需要替换多次,工作量还是比 ...