白日梦想家Zzzzz 2022-04-23 22:38 采纳率: 60%
浏览 83
已结题

layer.open 下拉框失效

对前端不太了解,粘的别人的代码,说是在success: function ()加入 form.render(); 重新渲染就行,我加入之后页面报错form 未定义,希望指点

         layer.open({
                    type: 1,
                    anim:2,
                    title:'编辑修改',
                    area:['400px','550px'],
                    btn:['保存','关闭'],
                    content:
                        '<form class="layui-form" id="content_data" >' +
                        '    <div class="layui-form-item">\n' +
                        '       <label class="layui-form-label">状态:</label>\n' +
                        '       <div class="layui-input-block">\n' +
                        '           <select name="state" id="states" >\n' +
                        '               <option value="0">状态0</option>\n' +
                        '               <option value="1">状态1</option>\n' +
                        '               <option value="2">状态2</option>\n' +
                        '           </select>' +
                        '        </div>\n' +
                        '    </div>' +
                        '</form>',
                    success: function (){
                        // 方法一 动态选中select 的option 的selected
                        // var $key = $.inArray(data.state, $arrstate);
                        // $('select#states option[value='+$key +']').prop("selected",true);

                        // 方法二 动态选中select 的option 的selected
                        $("#states").find("option").each(function() {
                            if ($(this).text() == data.state) {
                                $(this).attr("selected", true);
                            } else {
                                $(this).attr("selected", false);
                            }
                        });
                        form.render();
                    },
                    yes: function(index, layero){
                        var $data = $("#content_data").serialize();
                        $.ajax({
                            url: $posturl,                      //指向URL名称
                            type: 'POST',                       //页面传值类型
                            data: $data,                        //提交数据,以字典的形式
                            success: function (e) {             //提交数据成功后的处理函数,e是返回的值
                                if (e == 200) {
                                    layer.msg("修改成功", {icon: 6, time: 800},function () {
                                        parent.location.reload();   //刷新父页面
                                    });
                                } else {
                                    layer.msg("修改失败");
                                }
                            },
                        });

                    }
                });
  • 写回答

1条回答 默认 最新

  • Iridescent 2022-04-24 09:10
    关注

    layui 定义为「经典模块化」
    你要引入form啊
    layui.use(['layer', 'form'], function(){
    var layer = layui.layer
    ,form = layui.form;

    layer.open....
    });

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 5月3日
  • 已采纳回答 4月25日
  • 创建了问题 4月23日

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?