白日梦想家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 用lstm来预测股票价格
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥170 如图所示配置eNSP
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上