在弹出层里找不到select下拉选择框,form.on(select,filter)监听也没有值

提问 已结 16 345
UTF一8
UTF一8 2019-12-9
悬赏:20飞吻
版本:layui 浏览器:


form的class="layui-form"
form.on(select,filter)-----监听不到值
form.render()

但是在页面中直接写form的class="layui-form" 的select是可以找到值并且有样式的

回帖
  • 冥想盆
    2019-12-10
    //iframe窗

    layer.open({
    type: 2,
    title: false,
    closeBtn: 0, //不显示关闭按钮
    shade: [0],
    area: ['340px', '215px'],
    offset: 'rb', //右下角弹出
    time: 2000, //2秒后自动关闭
    anim: 2,
    content: ['test/guodu.html', 'no'], //iframe的url,no代表不显示滚动条
    end: function(){ //此处用于演示
    //给弹出层表单赋值及渲染在这里
    }
    });
    上面是iframe的例子,文档type类型为iframe
    https://www.layui.com/doc/modules/layer.html#type
    弹出的演示在 http://layer.layui.com/
    0 回复
  • 冥想盆
    2019-12-10
    @UTF一8 说实话这种多表单的建议你用iframe来写,在content里面拼这么长的串很麻烦,而且不好看
    1 回复
  • IDyun
    2019-12-9
    var data ={}
    layer.open(type:1,success: function(layero){
    form.render()
    form.val('form-id',data)
    })
    0 回复
  • 斯考特
    2019-12-9
    监听是不是被覆盖了,如果写了多处,只有最后一处生效
    0 回复
  • UTF一8
    2019-12-9
    @斯考特 只有一个监听下拉框的
    0 回复
  • UTF一8
    2019-12-9
    @IDyun 您发的这个有点没看懂,我有生命form,但是还是不行
    0 回复
  • IDyun
    2019-12-9
    因为layui 动态添加 select 后需要重新渲染表单。
    就是我那代码的意思
    0 回复
  • UTF一8
    2019-12-9
    @IDyun 大佬,我还是没太弄明白代码加到哪里。。麻烦指点一下
    0 回复
  • IDyun
    2019-12-9
    demo
    https://www.layui.com/demo/
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <title>layui在线调试</title>
    <link rel="stylesheet" href="//res.layui.com/layui/dist/css/layui.css?t=1575889601624" media="all">
    <style>
    body{margin: 10px;}
    .demo-carousel{height: 200px; line-height: 200px; text-align: center;}
    </style>
    </head>
    <body>

    <script type="text/html" id="demo">
    <form class="layui-form" action="" lay-filter="example">
    <div class="layui-form-item">
    <label class="layui-form-label">输入框</label>
    <div class="layui-input-block">
    <input type="text" name="username" lay-verify="title" autocomplete="off" placeholder="请输入标题" class="layui-input">
    </div>
    </div>
    <div class="layui-form-item">
    <label class="layui-form-label">密码框</label>
    <div class="layui-input-block">
    <input type="password" name="password" placeholder="请输入密码" autocomplete="off" class="layui-input">
    </div>
    </div>

    <div class="layui-form-item">
    <label class="layui-form-label">选择框</label>
    <div class="layui-input-block">
    <select name="interest" lay-filter="aihao">
    <option value=""></option>
    <option value="0">写作</option>
    <option value="1">阅读</option>
    <option value="2">游戏</option>
    <option value="3">音乐</option>
    <option value="4">旅行</option>
    </select>
    </div>
    </div>
    </form>
    </script>
    <script src="//res.layui.com/layui/dist/layui.js?t=1575889601624"></script>
    <script>
    layui.config({
    version: '1575889601624' //为了更新 js 缓存,可忽略
    });

    layui.use(['form', 'layer'], function(){
    var form= layui.form
    ,layer = layui.layer
    ,$= layui.$

    layer.open({
    type: 1
    ,area: ['50%', '50%']
    ,content: $('#demo').html()
    ,success: function(){
    form.render();
    form.val('example', {
    "username": "贤心" // "name": "value"
    ,"password": "123456"
    ,"interest": 1
    });
    }
    });
    });
    </script>
    </body>
    </html>
    0 回复
  • UTF一8
    2019-12-9

    我是把form写在的弹出层的content里面,这样找不到嘛?
    0 回复